Make realistic sample JSON for a prototype, a test or a demo. Write one field per line as name: type, such as email: email or age: number(18,65), choose how many records you want, and get a JSON array to copy or download. A seed value makes the output repeatable. The values come from built-in word lists and fixed patterns, so every name, company and address is invented.
A prototype with three hand-typed rows hides problems. Real data has long names, empty-looking values, big numbers and many rows, and each of those can break a layout, a table or a parser. Generating a few hundred records takes seconds and shows you the problems while they are cheap to fix.
Mock data also protects people. Copying a slice of a production database into a demo or a screenshot risks exposing real names, emails and phone numbers. Invented values avoid the question completely, which is especially useful when the work will be shown to a client or posted online.
Start from the response you expect from your API. List the same keys with the same types, keep ids as numbers or strings the way your backend will, and use ISO 8601 text for dates, which is the form JSON.parse leaves as a string for your code to convert. A mock that matches the contract can later be swapped for the real endpoint without changing the front end.
Keep one record flat unless you need nesting. This generator makes flat objects, which cover most lists, tables and cards. If you need an object inside an object, generate the flat parts here and nest them in your own code, or paste the result into a JSON formatter to check its structure.
id (counts 1, 2, 3 and so on), uuid, name, firstName, lastName, email, username, phone, company, jobTitle, city, country, address, zip, date, datetime, number(min,max), price(min,max), boolean, choice(a|b|c), text, url, color and ip. Name, first name, last name, email and username in the same record belong to the same invented person.
Write the type with a minimum and a maximum in brackets, for example age: number(18,65) for a whole number from 18 to 65, or cost: price(5,500) for an amount from 5.00 to 500.00 with two decimals. Without brackets, number gives a whole number from 0 to 1000.
Use choice with the options separated by a bar, for example plan: choice(free|pro|team). Each record gets one of the options at random.
It starts the random number generator at a fixed point. Typing the same seed with the same fields and count always produces the same JSON. With the seed empty, the data is different on every press.
Yes. The records are built as real values and written with JSON.stringify, so strings are escaped correctly and numbers and booleans are not quoted. Choose the one-record-per-line option if you need newline-delimited JSON, where each line is a separate JSON object.
Related: JSON formatter, UUID generator, Lorem ipsum generator.
Start for free or see all free tools. We.Inc is free to start, with no card needed. AI building is on paid plans from $20 a month.
We.Inc is an AI-powered website builder you can resell under your own brand. Launch a branded client dashboard, bill on Stripe Connect, and deliver AI-generated websites in minutes. White-label plans start at $99 a month for 25 client sites, with a 7-day free trial and no per-site fees.