About the Test Data Generator
This tool generates realistic fake records for seeding databases, UI mockups, tests and API fixtures. Choose one of five schemas: users (names, emails, phone, address, role), orders (line items, subtotal, tax, total, status), analytics events, sessions, or products (SKU, price, stock, rating, tags). Generate 1 to 100 records and export them as JSON, NDJSON or CSV.
The data is safe to share. Emails use reserved domains such as example.com and .test, and phone numbers use the fictional +1-555 range, so nothing points at a real person. Enter a seed to make output reproducible: the same seed, schema and count always produce the same records, which keeps snapshot tests stable. Everything is generated in your browser.
How to use it
- Pick a schema and an output format.
- Set the count, and optionally a seed.
- Press Regenerate for a fresh batch, then copy or download the file.
Examples
Part of a user record in JSON:
{
"id": "5f0c9e2a-7b1d-4c3e-9a8f-2d4b6e1c0a97",
"first_name": "Priya",
"last_name": "Kowalski",
"email": "priya.kowalski@example.org",
"address": { "street": "42 Oak Ave", "city": "Oslo", "postal_code": "40213", "country": "NO" },
"role": "user",
"active": true
}
In CSV, nested objects are flattened to dotted columns such as address.city, and arrays are written as JSON strings.
Common questions
What is NDJSON?
Newline-delimited JSON: one complete JSON object per line, with no enclosing array. It suits log pipelines, jq, and bulk-import APIs that stream records.
How do I get the same data every time?
Enter any text as the seed. With a seed, dates are also computed from a fixed reference point (2025-01-01) instead of the current time, so the output is fully repeatable.
Is this real personal data?
No. Names are drawn from a small built-in list and combined at random, and contact details use reserved example domains and numbers.
Related tools
- JSON Formatter & Validator: reformat or validate the generated JSON.
- CSV to JSON Converter: convert the CSV export back to JSON.
- Data Anonymizer: mask real data instead of generating fake data.