Generate fake data from a JSON Schema

Paste a JSON Schema, choose a record count and seed, and generate browser-local JSON, JSON Lines, or CSV that conforms to the supported schema subset.

Try:
Generated data

About this tool

JSON Schema Faker generates synthetic records from a JSON Schema subset. It is useful when you need repeatable fixtures for API tests, demos, import pipelines, or validation examples, but you do not want to hand-write sample rows.

Paste a schema, set a count and seed, and choose JSON array, JSON Lines, or CSV output. The same seed produces the same data, so failing tests are easy to reproduce. Everything runs locally in the browser.

Supported schema subset

Worked example

Schema:

{
  "type": "object",
  "properties": {
    "id": { "type": "integer", "minimum": 1, "maximum": 99 },
    "email": { "type": "string", "format": "email" },
    "role": { "enum": ["admin", "user", "guest"] }
  },
  "required": ["id", "email"]
}

With count = 3, seed = 42, and output = json, the tool returns a JSON array of three object records with numeric IDs, email-shaped strings, and roles chosen from the enum.

Limits & edge cases

FAQ

Does the output really validate against my JSON Schema?

It conforms to the supported subset listed above. For unsupported assertion keywords such as $ref, oneOf, pattern, or conditional schemas, the tool returns an error rather than generating data that might fail validation later.

Why does the same seed produce the same rows?

The generator uses a deterministic pseudo-random sequence. That makes sample data reproducible across the page, CLI, and chat block: keep the same schema, count, seed, and output format to get the same result again.

Can I generate CSV from a nested schema?

Yes, as long as the root output is an object. Top-level properties become columns; nested objects and arrays are JSON-serialized into individual cells so the CSV remains valid and can round-trip through common spreadsheet tools.

What happens to unknown string formats?

Unknown formats are treated as annotations and generate a plain string. Known formats such as email, uuid, date, date-time, uri, and ipv4 get format-shaped values.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool json-schema-faker '{
  "type": "object",
  "properties": {
    "id": { "type": "integer", "minimum": 1, "maximum": 999 },
    "email": { "type": "string", "format": "email" },
    "role": { "enum": ["admin", "user", "guest"] }
  }
}'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/json-schema-faker/?schema=%7B%0A%20%20%22type%22%3A%20%22object%22%2C%0A%20%20%22properties%22%3A%20%7B%0A%20%20%20%20%22id%22%3A%20%7B%20%22type%22%3A%20%22integer%22%2C%20%22minimum%22%3A%201%2C%20%22maximum%22%3A%20999%20%7D%2C%0A%20%20%20%20%22email%22%3A%20%7B%20%22type%22%3A%20%22string%22%2C%20%22format%22%3A%20%22email%22%20%7D%2C%0A%20%20%20%20%22role%22%3A%20%7B%20%22enum%22%3A%20%5B%22admin%22%2C%20%22user%22%2C%20%22guest%22%5D%20%7D%0A%20%20%7D%0A%7D&count=3&seed=42&pretty=true&output=json

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.