Developer / Test data

Mock Data Generator

Generate up to 1,000 rows of fake test data with the fields you choose, names, emails, addresses, dates, numbers, and more, as JSON, CSV, or SQL INSERT statements.

Mock Data Generator: Rows are generated in your browser from a seed, so the same settings give the same data until you ask for more. Contact details are safe by design: email addresses and links use example.com, a domain reserved for documentation, phone numbers use 555-0100 to 555-0199, set aside for fiction in North America, and IP addresses come from the ranges reserved for documentation. CSV cells that start with =, +, -, or @ get a leading apostrophe, so a spreadsheet will not run them as formulas. Runs 100% locally in your browser with zero server file uploads.

Runs
In your browser
Cost
Free · no sign-up
Availability
Ready to use
Mock data generatorLocal processing

Runs entirely in your browser

[
  {
    "id": 1,
    "name": "Priya Alvarez",
    "email": "priya.alvarez53@example.com",
    "company": "Nimblelight Energy",
    "created_at": "2021-12-19"
  },
  {
    "id": 2,
    "name": "Priya Patel",
    "email": "priya.patel43@example.com",
    "company": "Nimblepath Logistics",
    "created_at": "2023-06-03"
  },
  {
    "id": 3,
    "name": "Daniel Ito",
    "email": "daniel.ito25@example.com",
    "company": "Bluepath Logistics",
    "created_at": "2020-06-21"
  },
  {
    "id": 4,
    "name": "Jonas Rossi",
    "email": "jonas.rossi29@example.com",
    "company": "Bluewind Labs",
    "created_at": "2022-12-28"
  },
  {
    "id": 5,
    "name": "Omar Silva",
    "email": "omar.silva30@example.com",
    "company": "Brightbridge Analytics",
    "created_at": "2023-10-27"
  },
  {
    "id": 6,
    "name": "Sam Evans",
    "email": "sam.evans72@example.com",
    "company": "Greenpoint Media",
    "created_at": "2026-12-17"
  },
  {
    "id": 7,
    "name": "Farid Rossi",
    "email": "farid.rossi16@example.com",
    "company": "Silverpath Logistics",
    "created_at": "2021-09-28"
  },
  {
    "id": 8,
    "name": "Daniel Patel",
    "email": "daniel.patel58@example.com",
    "company": "Bluestone Systems",
    "created_at": "2020-05-04"
  },
  {
    "id": 9,
    "name": "Priya Weber",
    "email": "priya.weber24@example.com",
    "company": "Nimblebridge Analytics",
    "created_at": "2022-10-25"
  },
  {
    "id": 10,
    "name": "Hiro Okafor",
    "email": "hiro.okafor95@example.com",
    "company": "Nimblebridge Analytics",
    "created_at": "2026-06-06"
  },
  {
    "id": 11,
    "name": "Uma Young",
    "email": "uma.young12@example.com",
    "company": "Northpoint Media",
    "created_at": "2022-01-22"
  },
  {
    "id": 12,
    "name": "Wen Lopez",
    "email": "wen.lopez93@example.com",
    "company": "Harborleaf Studio",
    "created_at": "2024-09-25"
  },
  {
    "id": 13,
    "name": "Yusuf Chen",
    "email": "yusuf.chen97@example.com",
    "company": "Bluepath Logistics",
    "created_at": "2020-10-27"
  },
  {
    "id": 14,
    "name": "Kai Hansen",
    "email": "kai.hansen66@example.com",
    "company": "Swiftfield Foods",
    "created_at": "2020-07-13"
  },
  {
    "id": 15,
    "name": "Uma Tanaka",
    "email": "uma.tanaka28@example.com",
    "company": "Bluestone Systems",
    "created_at": "2026-04-03"
  },
  {
    "id": 16,
    "name": "Hiro Dubois",
    "email": "hiro.dubois65@example.com",
    "company": "Swiftstone Systems",
    "created_at": "2020-11-03"
  },
  {
    "id": 17,
    "name": "Daniel Brown",
    "email": "daniel.brown30@example.com",
    "company": "Summitbridge Analytics",
    "created_at": "2020-10-25"
  },
  {
    "id": 18,
    "name": "Mateo Lopez",
    "email": "mateo.lopez21@example.com",
    "company": "Harborstone Systems",
    "created_at": "2026-12-09"
  },
  {
    "id": 19,
    "name": "Yusuf Weber",
    "email": "yusuf.weber1@example.com",
    "company": "Bluewind Labs",
    "created_at": "2026-11-20"
  },
  {
    "id": 20,
    "name": "Isla Patel",
    "email": "isla.patel86@example.com",
    "company": "Northstone Systems",
    "created_at": "2026-02-01"
  }
]

All values are invented: emails use example.com, phone numbers the 555-0100 to 555-0199 range set aside for fiction, and IP addresses the ranges reserved for documentation, so test data can never contact a real person or server.

Data that cannot leak

Test data copied from production carries real names, emails, and phone numbers into places they should never be: laptops, logs, screenshots, and bug trackers. Generated data avoids that, and the reserved example.com domain and 555-01xx numbers make sure a test that sends an email or a text cannot reach anyone.

Keep generated data plainly fake. Names drawn from short lists repeat, which is a feature: nobody mistakes the rows for customers.

Getting it into your system

JSON suits API mocks and fixtures; NDJSON, one object per line, suits log pipelines and bulk loaders such as Elasticsearch's. CSV opens in a spreadsheet or loads with a database's import command, and SQL INSERT statements paste straight into a console. For an existing CSV, the CSV to SQL converter writes INSERT statements from its rows, and the UUID generator makes identifiers in bulk.

How to use it

  1. Add the fields you need, name them, and pick the kind of data for each.
  2. Choose the number of rows and the output format.
  3. Copy or download the data, or press New data for a fresh set.

Privacy & limitations

Everything is generated in your browser; nothing is uploaded. Your field list is remembered in this browser.

Related tools

Frequently asked questions

Could a generated email or phone number belong to a real person?

No. The email addresses are all at example.com, which the internet's standards reserve for examples and cannot receive mail, and the phone numbers are in the 555-0100 to 555-0199 range kept for films, books, and tests. Names are combined at random from common first and last names.

Which SQL does the INSERT output work with?

The statements quote names with double quotes and strings with single quotes, the SQL standard, which PostgreSQL, SQLite, and Oracle accept. For MySQL, enable ANSI_QUOTES or replace the double quotes around names with backticks.

Can I get the same data again?

Yes. The data comes from a seed that only changes when you press New data, so editing a field name keeps the same values. Download the file if you need it later.

How many rows can I make?

Up to 1,000 at a time. For more, download several sets: each press of New data gives different rows.

Free tool · runs in your browser · no account required