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.