Fake / Mock Data Generator
Generate realistic placeholder names, emails, addresses, and more for testing.
About this tool
Generate rows of realistic-looking but entirely fake records — names, emails, phone numbers, addresses, dates, and more — for testing a form, seeding a development database, or mocking an API response. Pick the fields, set the row count, and export as JSON or CSV. Everything is assembled in your browser from built-in word lists; no value is a real person's data and nothing is uploaded.
Why you want fake data. Building or testing against real personal data is a privacy and compliance risk — a leaked staging database of real customers is a real incident. Placeholder data lets you exercise every code path (long names, apostrophes, international characters, empty optional fields) without that exposure, and lets you share a fixture or a bug reproduction without leaking anything.
What "realistic" means here. Values follow the right shape: emails have a name and a domain, phone numbers have the right digit count, addresses have a number, street, city, and postcode. They're plausible enough that a UI renders naturally, but they're random combinations — the name and the email aren't guaranteed to match, and the address isn't a real one.
JSON vs. CSV. JSON (an array of objects) drops straight into a mock API, a fixture file, or a front-end during development. CSV imports into a spreadsheet, a database bulk-load, or a tool that expects tabular input. The field names become JSON keys or the CSV header row.
Making it deterministic. Each generation is fresh random data, so re-running gives different rows. If a test needs the same data every time, generate once and commit the output as a fixture file rather than regenerating in the test.
Limits. Up to 500 rows per run (to keep the tab responsive) — generate several times and concatenate for more. Each field has one fixed format; for a specific locale or pattern, generate here and transform the output in a script or spreadsheet.
For unique IDs, use the UUID generator; for names alone, the fake name generator. To reshape the output, the CSV ⇄ JSON converter and JSON formatter.
Frequently asked questions
- Is any of this real personal data?
- No. Every value is randomly assembled from generic word lists. Any resemblance to a real person, email, or address is coincidental.
- Do the fields in a row relate to each other?
- Mostly not. The name and email in one record aren't derived from each other, and the city and postcode aren't a real pair. Each field is generated independently.
- Can I control a field's exact format, like phone-number style?
- Not in the tool — each field uses one common format. Generate the data and adjust it in a spreadsheet or script for a specific pattern or locale.
- What's the maximum number of records?
- 500 per generation. Run it multiple times and combine the output for larger sets.
- How do I get the same data every time for a test?
- Generate once and save the output as a fixture file that your tests read, rather than regenerating on each run.
- Is the output valid JSON / CSV?
- Yes. JSON is a well-formed array of objects; CSV has a header row and quoted fields where needed.