Advertisement

Test Data Generator

Pick the fields you need and get up to 1,000 fictional user records as JSON, CSV, NDJSON or SQL INSERT statements — for seeding databases, API mocks and load tests.

Advertisement
Fields ·

Fictional records: e-mails on reserved domains, phones only from official fictional ranges (empty elsewhere), documentation-only IP addresses, synthetic streets. No ID numbers.

Advertisement

A mock data generator with safe defaults

Seeding a database, mocking an API or preparing a load test all need the same thing: many records that look like real users but belong to nobody. This generator builds them from the fields you tick and exports them in the format your tooling reads — a JSON array for fixtures and API mocks, CSV for spreadsheets and bulk importers, NDJSON for streaming loaders and log pipelines, or SQL INSERT statements you can run directly.

Unlike generic random-data tools, every value is chosen so that it is harmless if it ever leaves the test environment. That is the point of test data: a staging system that sends a welcome e-mail or an SMS by mistake should not reach a real person.

The fields and where their values come from

FieldValue
idUUID v4 (random), UUID v7 (time-ordered, sorts by creation time) or a running integer
first_name, last_name, full_name, genderCommon names for the record’s country, in the local name order (see the name generator)
emailDerived from the name, on example.com/.net/.org (RFC 2606) or a .test, .example or .invalid domain (RFC 2606 / RFC 6761)
phoneOnly from regulator-reserved fictional ranges (US/Canada, UK, Australia, France, Germany); null elsewhere
street, city, region, postcode, countrySynthetic street, real city and region, postcode in the correct local format (see the address generator)
company, job_titleInvented company names with the country’s usual legal suffix (GmbH, Ltd, S.A. de C.V.…) and common job titles
birth_date, created_atISO 8601 dates: birth dates for ages 18–80, creation timestamps within the last year (UTC)
ibanStructurally valid IBAN with correct check digits for countries that use IBANs; null elsewhere
ipv4, ipv6Documentation ranges 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 (RFC 5737) and 2001:db8::/32 (RFC 3849)
websiteA URL under the reserved .example top-level domain
is_activeBoolean, true for about 80% of records

What you won’t find: social security numbers, national ID numbers, tax IDs, passport numbers or real card numbers. If your schema needs those columns, fill them with obviously invalid placeholders, or use the test values your payment provider documents — see our test card numbers by gateway.

Advertisement

Export formats

The preview shows up to 200,000 characters; Download always saves the complete file.

Tips for realistic test data

Frequently asked questions

Which e-mail domains are used?

example.com, example.net and example.org (reserved by RFC 2606), or, if you choose, subdomains of the reserved .test, .example and .invalid top-level domains. Mail to these domains can never reach a real person, so a test run that accidentally sends e-mail does no harm.

Are the phone numbers safe to dial?

They come only from ranges that regulators reserve for fiction (US and Canada 555-01xx, UK Ofcom drama numbers, Australia ACMA, France Arcep, Germany Bundesnetzagentur). For other countries the phone field is null rather than a random number that could belong to someone.

What IP addresses are generated?

Addresses from the documentation ranges 192.0.2.0/24, 198.51.100.0/24 and 203.0.113.0/24 (RFC 5737) and the IPv6 documentation prefix 2001:db8::/32 (RFC 3849). They are never routed on the internet.

How do I import the SQL?

The output is plain INSERT INTO table (columns) VALUES …; with one statement per 100 rows, single quotes escaped, NULL for empty values and TRUE/FALSE for booleans. It runs on PostgreSQL, MySQL 8, MariaDB and SQLite. Create the table first with matching column names.

Are the IBANs valid?

For the countries that use IBANs, the field reuses the logic of our IBAN generator: correct length, structure and check digits, random account number. They are not real accounts. For countries without IBANs the value is null.

Related tools

Advertisement