Skip to content
jsonforge.app

JSON Fake Data Generator

Generate realistic mock JSON, CSV, SQL, and TypeScript datasets dynamically with custom schemas and 18+ field generators.

Customize fields or build your own schema below

Schema Fields

10 records
[
  {
    "id": 1,
    "name": "George Jones",
    "email": "emma.rodriguez5@example.com",
    "role": "viewer",
    "status": "pending",
    "avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+1&bg=2563eb&color=ffffff&radius=75",
    "created_at": "2026-06-19T04:30:37.497Z"
  },
  {
    "id": 2,
    "name": "David Martinez",
    "email": "hannah.jackson58@dev.io",
    "role": "editor",
    "status": "pending",
    "avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+2&bg=2563eb&color=ffffff&radius=75",
    "created_at": "2026-06-25T03:36:39.355Z"
  },
  {
    "id": 3,
    "name": "Fiona Johnson",
    "email": "kevin.lopez49@tech.org",
    "role": "viewer",
    "status": "active",
    "avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+3&bg=2563eb&color=ffffff&radius=75",
    "created_at": "2026-03-31T18:26:13.394Z"
  },
  {
    "id": 4,
    "name": "Ian Miller",
    "email": "david.wilson88@example.com",
    "role": "editor",
    "status": "active",
    "avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+4&bg=2563eb&color=ffffff&radius=75",
    "created_at": "2026-06-12T14:35:43.733Z"
  },
  {
    "id": 5,
    "name": "Julia Anderson",
    "email": "ian.williams82@jsonforge.app",
    "role": "admin",
    "status": "suspended",
    "avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+5&bg=2563eb&color=ffffff&radius=75",
    "created_at": "2026-03-27T19:49:02.935Z"
  },
  {
    "id": 6,
    "name": "Ian Rodriguez",
    "email": "kevin.taylor19@example.com",
    "role": "user",
    "status": "suspended",
    "avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+6&bg=2563eb&color=ffffff&radius=75",
    "created_at": "2025-11-15T07:29:50.645Z"
  },
  {
    "id": 7,
    "name": "Quentin Hernandez",
    "email": "bob.taylor66@example.com",
    "role": "admin",
    "status": "pending",
    "avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+7&bg=2563eb&color=ffffff&radius=75",
    "created_at": "2026-05-07T00:00:34.058Z"
  },
  {
    "id": 8,
    "name": "Penelope Miller",
    "email": "kevin.johnson5@dev.io",
    "role": "admin",
    "status": "suspended",
    "avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+8&bg=2563eb&color=ffffff&radius=75",
    "created_at": "2025-12-02T03:44:49.117Z"
  },
  {
    "id": 9,
    "name": "David Martinez",
    "email": "nora.jackson35@mail.com",
    "role": "editor",
    "status": "pending",
    "avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+9&bg=2563eb&color=ffffff&radius=75",
    "created_at": "2026-04-24T09:20:11.945Z"
  },
  {
    "id": 10,
    "name": "Rachel Jones",
    "email": "david.wilson43@workspace.net",
    "role": "user",
    "status": "pending",
    "avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+10&bg=2563eb&color=ffffff&radius=75",
    "created_at": "2025-09-30T16:21:32.541Z"
  }
]

What is JSON Fake Data Generator?

JSON Fake Data Generator builds mock datasets from a field-level schema: pick one of four ready-made presets — Users List, E-Commerce Products, Blog Posts, or Financial Transactions — or assemble a custom one by adding fields and assigning any of 18 generator types (UUID v4, sequential ID, full/first/last name, email, phone, avatar URL, city, country, job title, company, enum picklist, boolean, integer range, price, ISO date, or paragraph text). Every value comes from plain `Math.random()` — there's no seeded PRNG, so clicking 'Regenerate' always produces a fresh, non-reproducible batch rather than replaying the same values. The in-browser UI generates up to 200 records at a time. The same generator logic is also exposed as an edge-runtime API endpoint (`/api/fake-data`) that accepts up to 500 records per request and can return JSON or CSV directly, so you can seed a database or mock a fetch call without opening the page at all. Output can be copied or downloaded as raw JSON, CSV, MySQL-style `INSERT INTO` statements, or a generated TypeScript interface paired with a matching typed array literal.

How to use JSON Fake Data Generator

  1. Select a prebuilt preset (Users List, E-Commerce Products, Blog Posts, Financial Transactions) or build a custom schema.
  2. Add, edit, or remove fields and assign generator types (UUID, Email, Full Name, Price, Date, Enum, etc.).
  3. Adjust the record count slider (1 to 200 records in the UI; up to 500 via the API endpoint).
  4. Switch output format tabs (JSON, CSV, SQL, TypeScript) to view the generated data.
  5. Click 'Regenerate Batch' for a fresh set of randomized data, or 'Copy' / 'Download' to save the output.

Examples

Generate 10 User Profiles

Input

https://jsonforge.app/api/fake-data?schema=users&count=10

Output

Returns a JSON array of 10 user objects with id, name, email, role, status, avatar, and created_at.

Export E-Commerce Products as CSV

Input

https://jsonforge.app/api/fake-data?schema=products&count=5&format=csv

Output

Returns 5 mock product records formatted as CSV with columns (id, title, price, category, stock, is_available, created_at).

Generate Financial Transactions SQL Inserts

Input

INSERT INTO `transactions` (`id`, `account_holder`, `amount`, `currency`, `type`, `status`) VALUES ...

Output

Generates SQL INSERT statements ready to populate your local database tables.

Common mistakes

  • Setting record counts above what the UI slider allows (200) and expecting more from the page itself — use the `/api/fake-data` endpoint directly if you need up to 500 records in one response.
  • Forgetting to wrap text fields containing commas in quotes when converting manually to CSV (our CSV exporter handles escaping automatically).
  • Expecting API POST operations to persist data into a database (mock generators create ephemeral testing data).
  • Assuming 'Regenerate' lets you reproduce an earlier batch with tweaks — it's unseeded randomness, so the previous values are gone as soon as you regenerate; save the output you want to keep first.
  • Treating the generated TypeScript interface as a fully accurate type — field types are inferred from the first row only, so an optional or nullable field that happens to be non-null in row one won't get a `| null` union.

Why use this tool

  • Eighteen generator types — UUIDs, names, emails, avatars, prices, dates, and more — cover most schemas without writing a custom format or regex.
  • One schema exports to JSON, CSV, SQL INSERT statements, or a TypeScript interface with a matching typed array, without remodeling the fields for each format.
  • The `/api/fake-data` edge endpoint returns up to 500 records per request for seeding a database or mocking a fetch call, without opening the page at all.
  • Generation in the browser UI runs synchronously with no account or API key required; only calling the public API endpoint sends a request off your machine.
  • Four presets (Users, E-Commerce Products, Blog Posts, Financial Transactions) give a realistic starting schema, but every field is editable or removable if the preset doesn't match your data model.

Frequently asked questions