JSON Schema Mock Data Generator
Paste a JSON Schema or a sample JSON object and get realistic mock rows for tests, fixtures, and demos.
What it does
Schema or sample input
Paste a JSON Schema, or just drop in a sample JSON object and the field types are inferred automatically.
Realistic field values
Field names like email, city, phone, price, or avatar get sensible values. No more "string1", "string2".
Configurable row count
Generate anywhere from 1 to 500 rows of mock data for tests, fixtures, or demos.
Nested objects and arrays
Recurses through properties, items, and refs so nested shapes are filled out too.
Runs entirely in your browser
Your schema and the generated data never leave your device. No upload, no server, no logging.
Copy or download as JSON
Grab the output as text or save it as a .json fixture file for your tests.
How it works
Step 1
Paste a schema or sample
Drop in a JSON Schema, or paste a single sample object and types are inferred from the values.
Step 2
Set the row count
Choose how many records you want, from 1 up to 500.
Step 3
Copy or download
Grab the generated array as text, or save it as a .json file.
How it compares
| What matters | Typical tools | ToolDeck |
|---|---|---|
| Works offline | No | Yes, after first load |
| Sign-up required | Usually | No |
| File upload | Yes, to a server | Never, runs in your browser |
| Watermark | Common on free plans | Never |
| Daily usage limit | Common | None |
| Cost | Credits or subscription | Free, unlimited |
Related tools
Questions people ask
Is my schema uploaded anywhere?
No. Parsing, inference, and generation all run in your browser. Your schema text is never sent to a server, logged, or stored.
What input formats are supported?
Any valid JSON. If the root has a "type" or "properties" key it is treated as a JSON Schema. Otherwise it is treated as a sample object and field types are inferred from the values you provided.
How does it decide what values to fill in?
String fields are matched against common field names. Keys like email, first_name, city, phone, url, avatar, id, and about map to hand-rolled generators. Numbers respect minimum and maximum if present, otherwise a sensible range is picked. Booleans and dates are handled directly. Unknown strings fall back to short lorem-style words.
Does it support $ref in JSON Schema?
Local refs like "#/definitions/User" or "#/$defs/User" are resolved from the same document. Remote refs are not fetched because this tool makes no network calls.
Does it support arrays of objects?
Yes. Arrays recurse into their items schema. If the sample is an array of objects, the first object is used as the shape and the requested number of rows is returned as a top-level array.
Can it generate CSV or SQL inserts?
Not yet. Output is JSON only. CSV and SQL exports are on the request list. Use the Markdown Table Converter or CSV Formatter for related work in the meantime.
Is there a row limit?
You can generate up to 500 rows. Beyond that the browser can start to feel slow for deeply nested schemas. For very large fixtures, generate in batches.
Does it work offline?
Yes, after the first page load. All generators are bundled with the page and no network requests are made when you generate.