Fake Data Generator

100% private — runs on your device, never uploaded. Works offline once loaded.

Generate rows of realistic-looking fake data — names, emails, phone numbers, addresses, companies, dates and UUIDs — and export them as JSON or CSV for testing and prototyping. Everything runs in your browser.

What a fake data generator is for

A fake data generator produces realistic-looking but entirely made-up records so you can build and test software without touching real customer information. Instead of hand-typing rows or scraping a spreadsheet, you describe the shape you want — a few names, some emails, a batch of UUIDs — and get structured output instantly.

This tool assembles each row from small embedded word lists: first and last names, street and city names, company prefixes and suffixes, and safe example email domains. Because the values are recombined randomly on every run, you get varied, non-repeating data that looks plausible in a table or an API response.

When mock data actually helps

Seed data is the obvious case: populating a fresh database or staging environment so screens are not empty. But mock rows are just as useful for unit and integration tests, for demoing a UI without exposing real records, and for load-testing an endpoint with a predictable payload shape.

Front-end work benefits too. Designers and developers often need a hundred user rows to see how a table paginates, how long names wrap, or how an avatar list overflows. Generating that in seconds beats copying the same placeholder over and over.

  • Seed a local or staging database with believable rows.
  • Fill test fixtures and API mocks with varied inputs.
  • Populate UI prototypes so layouts are tested with real-length text.
  • Produce sample CSVs for import/export testing.

JSON and CSV, and how the fields are built

Choose JSON for a ready-to-paste array of objects, or CSV for a header row plus comma-separated values you can drop into a spreadsheet or bulk importer. CSV values that contain commas or quotes are automatically escaped so the file stays valid.

Emails are derived from the generated name plus a random number and an example domain, so they look consistent with the person. Phone numbers follow a familiar (NXX) NXX-XXXX shape, addresses combine a house number, street, city, region and postcode, and UUIDs use the browser's built-in cryptographic generator (RFC 4122 version 4). Dates are random days drawn from roughly the last few years and formatted as ISO YYYY-MM-DD.

Randomness comes from crypto.getRandomValues rather than a predictable seed, so two people generating data at the same time will not collide.

Frequently asked questions

Which fields can I include?

Name, email, phone, address, company, date and UUID. Tick any combination — the output only contains the fields you select.

Are the UUIDs real version-4 UUIDs?

Yes. They are produced with the browser's crypto.randomUUID (or a crypto-backed fallback), so they follow the RFC 4122 version-4 format and are collision-resistant.

Do the emails and domains belong to anyone?

No. They use reserved example domains such as example.com and example.org, which exist specifically for documentation and testing and never route to real inboxes.

Can I get the same rows again?

The generator is random by design, so each run differs. Copy the output you like before regenerating if you need to keep a specific set.

Why cap it at 1000 rows?

Generating and rendering runs entirely in your browser, so the cap keeps the page responsive. For larger datasets, generate a batch, copy it, and repeat.

Is this suitable for production data?

No — it is test data only. The values are plausible but fictional and should never stand in for verified, real records in a live system.

Advertisement