Paste your JSON sample and generate more like it
Drop in one object or an array, choose how many rows you need, and download the result as JSON, NDJSON, or CSV — all in your browser.
Open the generator →You have one example record and you need fifty, or fifty thousand, that look just like it — for a test fixture, a demo, a load test, or a populated UI. Writing them by hand is tedious and error-prone. This tool takes a single JSON example and generates more rows in the same shape, automatically.
How it works
Paste a JSON object or an array of objects. The tool walks your sample and infers a generator for every field from two signals:
- The value pattern (primary) — a UUID-looking string becomes a UUID, an ISO timestamp becomes a date-time, an email becomes an email, a whole number stays an integer.
- The key name (fallback) — when a value is a generic string or number, the field name refines it, so
email,city,price, andfirstNameproduce appropriate values.
Crucially, the value wins over the key name. An "id": 42 stays an integer rather than being turned into a UUID just because it is called "id". Nested objects and arrays are inferred recursively, so the generated rows match your structure exactly.
Example: one record in, many out
Paste a sample like this:
[
{
"id": 1,
"firstName": "Alice",
"lastName": "Ng",
"email": "alice.ng@example.com",
"signupDate": "2026-01-15",
"address": { "city": "Seattle", "state": "WA", "zip": "98101" },
"tags": ["beta", "priority"]
}
]
…and you get back as many rows as you ask for, each with a coherent name and matching email, a real city/state/ZIP combination, an ISO date, and a 1–2 item tags array — in the same nested shape as your example.
Coherent, not just random
The biggest problem with most fake-data tools is incoherent rows: the name says "Alice Ng" but the email is random characters, and the city, state, and ZIP belong to three different places. This generator keeps related fields consistent within each row — the email and username come from that row's name, and the city, state, ZIP, and country come from one real location. Read more about that on the mock data generator page.
Reproducible output with a seed
Type anything into the seed box and the output becomes deterministic — the same example and seed always produce byte-identical rows, which is exactly what you want for snapshot tests and fixtures you can regenerate on demand. Leave it blank for fresh data each run.
Common uses
- Expand a JSON example from your API docs into a realistic dataset for a demo.
- Infer the structure of an unfamiliar payload and stress it with volume.
- Seed a database or mock API by generating NDJSON and importing it.
- Build UI states — empty, few, and many — from one representative record.
Ready to expand your sample?
Open the generator in sample mode, paste your JSON, and generate more like it.
Generate JSON from your example →Frequently Asked Questions
How do I generate JSON from an example?
Paste one JSON object or an array of objects into the sample box, set how many rows you want, and click Generate. The tool reads your keys and value patterns, builds a generator for each field, and produces new rows in the exact same shape — nested objects and arrays included.
Will the generated values keep the same types as my example?
Yes. Inference uses the value first and the key name only as a fallback, so a numeric id stays an integer, a UUID string stays a UUID, an ISO timestamp stays a date-time, and an email stays an email. When a field's type differs across your sample items, the tool widens it predictably rather than guessing per row.
Is my pasted JSON uploaded anywhere?
No. Inference and generation run entirely in your browser. Your sample is never sent to a server, the page works offline once loaded, and there is no row limit or signup.