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": "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
- 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.