Pick your fields once and take them out in whichever shape your consumer expects. The same field list drives the SQL, CSV, XML and GraphQL tools too, so a fixture stays consistent as it moves between them.
What you can control
- Four root shapes, including NDJSON for anything that streams records line by line.
- Address fields can nest under an
addressobject, matching how most APIs actually structure them. - Null injection sprinkles nulls through optional fields at about one in twelve — enough to find the code that assumes a value is always present.
- Thirty-three field types, each with a sensible generator behind it rather than a random string.
What this is not
Field names are fixed by the tool. If your schema uses different names, generate here and rename in your editor, or use the schema builder, which takes arbitrary paths.
Questions
Can I control the field names?
Not in this tool — they are fixed to the type names. The schema builder takes arbitrary dotted paths and lets you map any name onto any type.
What is NDJSON for?
Streaming. One JSON object per line means a consumer can process records as they arrive instead of waiting for the closing bracket. Log pipelines and bulk-import APIs both use it.
Why inject nulls?
Because most crashes in data-handling code come from a field that was always present in development and absent once in production. Injecting nulls finds those paths early.