Fake Data Generator
runs in your browserGenerate realistic test data as a table, JSON, CSV or SQL, with every phone number, address and card drawn from officially reserved ranges.
Columns
7 chosen- Email: example.com and friends, reserved by RFC 2606 and never deliverable.
- Phone: Ofcom's drama range, which is never allocated to anyone.
Preview
10 rows| Row number | Full name | Phone | City | Postcode | Created at | |
|---|---|---|---|---|---|---|
| 1 | Omar Abara | lucia.zielinski@test | +44 7700 900267 | Glasgow | ZL49 2KG | 2021-06-02T09:46:17Z |
| 2 | Eleanor Ashworth | jasper.nakamura@test | +44 7700 900226 | Leeds | TF72 5UZ | 2021-10-05T07:24:14Z |
| 3 | Clara Rasmussen | marcus.blackwood@example.org | +44 7700 900068 | Coventry | ZS40 3RY | 2026-09-26T20:56:06Z |
| 4 | Alice Underwood | grace.underwood@example.net | +44 7700 900971 | Newcastle | YD97 2KD | 2022-04-19T12:31:04Z |
| 5 | Silas Underwood | felix.carmichael@example.org | +44 7700 900821 | Manchester | OI12 2BH | 2024-08-04T12:31:12Z |
| 6 | Silas Delacroix | zara.yamamoto@test | +44 7700 900010 | York | IS86 1GW | 2025-10-07T02:08:24Z |
| 7 | Mabel Eze | ursula.fairweather@test | +44 7700 900866 | Coventry | JH21 3YZ | 2021-04-03T00:47:23Z |
| 8 | Esme Carmichael | sofia.fairweather@test | +44 7700 900546 | Edinburgh | GN76 8BF | 2024-08-01T07:25:52Z |
| 9 | Oscar Grover | idris.nakamura@example.com | +44 7700 900955 | Manchester | DB81 2SH | 2024-04-16T22:04:06Z |
| 10 | Dara Quintero | amara.lindqvist@example.org | +44 7700 900720 | York | ZA86 2KP | 2023-05-20T03:17:57Z |
The same columns, count and seed always produce the same data, so a fixture stays stable between runs. Press New data for a different set.
about this tool
Nothing here can reach a real person
Test data escapes. It ends up in screenshots, in bug reports, in a staging database someone points at a live email service, and occasionally in a mailshot that should never have gone out. So every value that could collide with something real is drawn from a range that was set aside for exactly this purpose.
Email addresses use example.com and its siblings, reserved by RFC 2606 and
guaranteed undeliverable. Phone numbers come from 07700 900000 to 900999,
which Ofcom reserves for use in television and film precisely so that nobody
gets called. IP addresses use the documentation ranges from RFC 5737 and the
2001:db8:: prefix from RFC 3849. National Insurance numbers use the QQ
prefix, which is never issued. Card numbers are built on the prefixes the
payment schemes publish for testing.
That is a deliberate choice over generating something that merely looks plausible. A plausible phone number belongs to somebody.
The checksums are real
An IBAN here passes the mod-97 check, and a card number passes Luhn. Data that fails validation is useless for testing validation: you cannot tell a working form apart from a broken one if every value is rejected either way.
The bank code inside each IBAN is ZZ followed by letters, which no real
institution uses, so the number is structurally valid and cannot address an
actual account.
The same seed gives the same data
Generation is seeded rather than random, so the same columns, row count and seed always produce the same set. That matters for a fixture: a test that depends on the third row still works tomorrow, and a colleague running the same settings sees the same thing. Press New data when you want a different draw.
Four ways out
The table is for looking at. JSON and CSV are for loading somewhere. SQL
produces a single INSERT statement, with numbers and booleans left unquoted
and apostrophes escaped, so a name like O'Brien does not break the statement.