JSON Fake Data Generator
Generate realistic mock JSON, CSV, SQL, and TypeScript datasets dynamically with custom schemas and 18+ field generators.
Schema Fields
[
{
"id": 1,
"name": "Michael Williams",
"email": "samuel.martin96@jsonforge.app",
"role": "editor",
"status": "pending",
"avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+1&bg=2563eb&color=ffffff&radius=75",
"created_at": "2026-05-28T16:17:08.901Z"
},
{
"id": 2,
"name": "David Martinez",
"email": "quentin.lopez88@dev.io",
"role": "editor",
"status": "active",
"avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+2&bg=2563eb&color=ffffff&radius=75",
"created_at": "2026-01-21T18:40:24.898Z"
},
{
"id": 3,
"name": "Penelope Martin",
"email": "charlie.thomas94@jsonforge.app",
"role": "user",
"status": "suspended",
"avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+3&bg=2563eb&color=ffffff&radius=75",
"created_at": "2026-01-24T21:41:07.765Z"
},
{
"id": 4,
"name": "Emma Jackson",
"email": "nora.rodriguez14@example.com",
"role": "user",
"status": "active",
"avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+4&bg=2563eb&color=ffffff&radius=75",
"created_at": "2026-03-19T06:20:37.945Z"
},
{
"id": 5,
"name": "Penelope Moore",
"email": "nora.taylor62@mail.com",
"role": "user",
"status": "suspended",
"avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+5&bg=2563eb&color=ffffff&radius=75",
"created_at": "2026-04-11T16:23:37.869Z"
},
{
"id": 6,
"name": "David Taylor",
"email": "quentin.anderson17@workspace.net",
"role": "admin",
"status": "pending",
"avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+6&bg=2563eb&color=ffffff&radius=75",
"created_at": "2026-06-13T16:26:16.048Z"
},
{
"id": 7,
"name": "Michael Williams",
"email": "fiona.jones71@dev.io",
"role": "user",
"status": "active",
"avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+7&bg=2563eb&color=ffffff&radius=75",
"created_at": "2025-12-06T14:53:27.285Z"
},
{
"id": 8,
"name": "Oscar Hernandez",
"email": "kevin.anderson90@jsonforge.app",
"role": "editor",
"status": "active",
"avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+8&bg=2563eb&color=ffffff&radius=75",
"created_at": "2026-01-01T13:24:57.880Z"
},
{
"id": 9,
"name": "Tina Lopez",
"email": "charlie.williams19@workspace.net",
"role": "user",
"status": "pending",
"avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+9&bg=2563eb&color=ffffff&radius=75",
"created_at": "2026-04-03T17:16:00.593Z"
},
{
"id": 10,
"name": "Emma Lopez",
"email": "ian.brown36@example.com",
"role": "admin",
"status": "suspended",
"avatar": "https://jsonforge.app/api/placeholder/150x150?text=Avatar+10&bg=2563eb&color=ffffff&radius=75",
"created_at": "2026-10-30T01:02:33.967Z"
}
]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
- Select a prebuilt preset (Users List, E-Commerce Products, Blog Posts, Financial Transactions) or build a custom schema.
- Add, edit, or remove fields and assign generator types (UUID, Email, Full Name, Price, Date, Enum, etc.).
- Adjust the record count slider (1 to 200 records in the UI; up to 500 via the API endpoint).
- Switch output format tabs (JSON, CSV, SQL, TypeScript) to view the generated data.
- 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.