RunTheTests
/

Test Data Generator

Generate reproducible fake names, emails and addresses.

What you paste

Parsed in your browser — never uploaded

Result

PASS

20 rows across 4 fields

Write the request as "50 rows: name, email, city" and add the word json for JSON output. Available fields are id, first_name, last_name, name, email, city, country, address, phone, company, date, amount, uuid, boolean. Two deliberate choices: email addresses use reserved example domains so a test that accidentally sends mail cannot reach a real person, and the data is generated from a seed derived from your request, so the same request produces identical output every time. That makes a fixture reproducible, which is worth considerably more in a test suite than genuine randomness.

CSV
id,name,email,city
3884,Otto Mensah,otto.mensah@example.com,Porto
7312,Hugo Rossi,hugo.rossi@test.example,Pune
8468,Kwame Tanaka,kwame.tanaka@example.net,Bogotá
2531,Hugo Mensah,hugo.mensah@test.example,Utrecht
9011,Tomas Costa,tomas.costa@test.example,Brno
5953,Andrei Tanaka,andrei.tanaka@example.net,Pune
3723,Hugo Popescu,hugo.popescu@test.example,Cluj
1020,Mei Haddad,mei.haddad@example.net,Lagos
6411,Kwame Okafor,kwame.okafor@example.com,Beirut
2607,Ingrid Bergmann,ingrid.bergmann@example.net,Bogotá
6581,Tomas Haddad,tomas.haddad@example.org,Bogotá
7139,Otto Aziz,otto.aziz@example.net,Bologna
2785,Sanne Costa,sanne.costa@example.net,Chengdu
8645,Kwame Bergmann,kwame.bergmann@test.example,Tunis
8496,Mei Rossi,mei.rossi@test.example,Tunis
9980,Amara Novak,amara.novak@example.com,Chengdu
3875,Kwame Costa,kwame.costa@example.com,Cluj
5284,Tomas Herrera,tomas.herrera@example.org,Lyon
6650,Hugo Herrera,hugo.herrera@example.org,Malmö
6031,Sanne Bergmann,sanne.bergmann@example.org,Pune
Diagnostic telemetry
Rows
20
Fields
id, name, email, city
Format
CSV
ReproducibleThe same request always produces the same data
yes

What this cannot tell you

  • Everything runs in your browser. Nothing you paste is uploaded, stored or logged.
  • Email addresses use reserved example domains so a test that accidentally sends mail cannot reach a real person. Names and addresses are fictional and any resemblance to a real person is coincidence.

Take this with you

How this reads your output

Write the request as a row count and a field list and the generator builds the data from a seed derived from that request. Related fields stay consistent within a record, so the email address matches the name rather than being drawn independently, which is what makes the data usable for testing anything that checks relationships. Because the seed comes from your request, the same request always produces identical data.

What the results mean

Reproducible
The same request gives the same rows every time. For a test fixture that is worth considerably more than genuine randomness, since a failing test can be reproduced.
Consistent records
Email addresses are built from the name in the same record, so a record holds together rather than being a set of unrelated values.
Reserved domains
Addresses use example.com and its siblings, which are reserved by standard and can never be registered, so accidental mail goes nowhere.

Common problems and fixes

The data does not exercise the edge cases that break things
Generated data is uniformly well behaved, which is exactly why bugs survive it. Add the awkward cases by hand: an apostrophe in a surname, a name in a non-Latin script, an address with no postcode, a very long field. Those are what production contains and what tests should include.
Test data ended up in a production database
Make it obviously fake rather than realistic. Reserved example domains help, and prefixing every record with a marker such as TEST- makes an accident visible immediately. Realistic-looking test data in a live system is genuinely difficult to identify and remove later.

Frequently asked questions

Which fields are available?

id, first_name, last_name, name, email, city, country, address, phone, company, date, amount, uuid and boolean. Request them by name in a comma-separated list after a colon.

Can I use this instead of anonymising real data?

For most purposes yes, and it is safer. Anonymising real records is harder than it looks, since combinations of ordinary fields can re-identify people even after names are removed. Generated data has no such risk because there is nobody behind it.

Why is it deterministic rather than random?

Because a test that fails on random data is hard to reproduce and therefore hard to fix. A fixed seed means the same rows every run, so a failure can be investigated. When you want different data, change the request slightly and the seed changes with it.

Put this on your own site

Free to embed, no attribution required beyond the source link the frame carries itself. It runs entirely in your visitor's browser, sets no cookies and loads no third-party script.

Embed code
<iframe src="https://runthetests.com/embed/test-data-generator/" width="100%" height="720" style="border:1px solid #e5e5e5;border-radius:8px" title="Test Data Generator" loading="lazy"></iframe>

Preview it at https://runthetests.com/embed/test-data-generator/. Embedded pages are marked noindex, so yours stays the canonical copy — not this one.

More in DevTools