About this tool
Hand-typed fixtures tend to be short, repetitive and suspiciously clean. This generator builds realistic rows with Faker: define the columns, pick a type for each (names, emails, phone numbers, addresses, UUIDs, number ranges, past or future dates, enums from your own list and more), and export as JSON, CSV or SQL INSERT statements. Set a seed to get exactly the same data every time, which keeps data-driven tests and bug reproductions deterministic. Card numbers are the publicly documented gateway test numbers, never real ones.
How to use it
- Edit the field list: give each column a name and a type. Ranges and enum values appear when the type needs them.
- Set the number of rows (1–1,000) and, for repeatable output, a whole-number seed.
- Choose JSON, CSV or SQL INSERT (with a table name), then click Generate.
- Copy the output or download it as a file for your fixtures folder or database seed script.
Random Test Data Generator FAQ
How does the seed make data reproducible?
The seed initialises Faker’s random number generator, so the same fields, row count and seed always give identical output. Relative dates use a fixed reference date (1 January 2026) when seeded; without that, “a date in the past year” would shift every day.
Are the email addresses and card numbers safe to use?
Emails use the reserved example.com, example.net and example.org domains (RFC 2606), so a system under test that sends real mail cannot reach a real inbox. Card numbers are the well-known test numbers published by payment gateways (such as 4111 1111 1111 1111), which pass the Luhn check but are not real accounts.
Which SQL dialect is the INSERT output?
Standard SQL with one INSERT per row: strings in single quotes with embedded quotes doubled, NULL for empty values, TRUE/FALSE for booleans, and double-quoted identifiers only when a name is not a plain identifier. It runs on PostgreSQL, MySQL 8, SQLite and SQL Server for typical column types.