Fake Data Generator

Create fictional names, emails, phone numbers, addresses and other test values, then view them as a table or export JSON or CSV. Everything is generated locally in your browser.

⚙️ Configuration
Select Fields to Generate

Test data without real people in it

Developers, testers and designers regularly need a table full of plausible records: to seed a development database, fill a UI mockup, demo a CRM screen or check how a form handles long names. Copying real customer data for that is a privacy risk. This generator produces fictional records with up to nine fields (name, email, phone, address, company, masked credit card, date, UUID and IPv4 address), in an English (US-style) or Chinese locale, and exports them as a table, JSON or CSV.

How to generate a data set

  1. Under Select Fields to Generate, click the fields you want. Name and Email are selected by default; click a field again to deselect it. Columns appear in the order shown on the page.
  2. Enter the Number of Records, from 1 to 100. Values outside that range are clamped.
  3. Choose a Locale. English produces US-style names, phone numbers in the (XXX) XXX-XXXX pattern and street addresses with a state code and ZIP; Chinese produces Chinese names, 11-digit mobile numbers and province/city/street addresses.
  4. Click Generate Data. Every click creates a completely new random set.
  5. Switch between the Table, JSON and CSV views. Copy puts the current view on your clipboard (the table view is copied as tab-separated text, which pastes cleanly into a spreadsheet), and Download saves it as fake-data.json, fake-data.csv or fake-data.tsv.

How the records are built

Each value is picked with JavaScript's Math.random() from small built-in lists or generated from a pattern. The English list has 40 first names, 30 surnames, 15 streets, 15 cities and 15 state codes; the Chinese list has similar pools. Parts are combined independently, so a record can pair a city with a state it is not in, and ZIP codes are random five-digit numbers. Emails join the name with a number from 1 to 999 and a common mail domain. Dates are ISO YYYY-MM-DD strings between 1970 and 2025 (days 1–28 only, so every date is valid). UUIDs follow the version 4 layout. IP addresses are four random octets and can land in private, reserved or multicast ranges.

The credit card field starts with a brand-like prefix (4, 51–55 or 37), adds random digits and masks the middle eight, for example 4539 **** **** 8812. The numbers are not generated with a valid Luhn check digit and are not linked to any account, so they cannot be used for payments. For payment-flow testing, use the test card numbers your payment provider publishes.

Because the lists use real first names, real mail domains such as gmail.com and ordinary number formats, a generated email address or phone number may happen to belong to a real person. Never send messages or place calls to generated contact details; route test email to a sandbox or a reserved domain such as example.com instead.

Frequently asked questions

Is anything sent to a server?

No. Generation, formatting, copying and the download file are all produced in your browser. The page stores nothing between visits.

Can I generate more than 100 records?

Not in one click. Generate several batches and combine them, or use a scripted library such as Faker when you need thousands of rows or custom fields.

Are the values unique?

Only UUIDs are practically unique. Names, emails and other fields are drawn from small pools, so duplicates become likely as the record count grows. Add a unique constraint check in your own seed script if it matters.

Can I get the same data again?

No. There is no seed option, so each click produces a new set. Download the file if you need to reuse a particular set in later test runs.

Related tools