Mock Data Generator
Generate up to 1,000 rows of fake test data as JSON, NDJSON, CSV or SQL INSERT. Pick the fields, set an optional seed, and copy or download.
Generating…
Rows are generated in your browser and are not sent to our server.
1 to 1,000
The same seed and settings give the same rows.
01 · Definition
What is a mock data generator?
A mock data generator produces rows of realistic but made-up values, such as names, emails, dates and numbers, in a format a program can load. Developers use it to seed a database, fill a UI with content, or write test fixtures without copying real customer records. A seed makes the same rows come out every time.
02 · Overview
How the Mock Data Generator works
The tool builds a table of made-up rows from the fields you choose: integer or UUID identifiers, names, email addresses, phone numbers, street addresses, booleans, integers and decimals in a range, dates, lorem ipsum sentences and values from your own list. Output is a JSON array, NDJSON, CSV quoted to RFC 4180, or a SQL INSERT statement with string quotes escaped. Email addresses use only example.com, example.org and example.net, and phone numbers come from ranges reserved for fiction, so nothing points at a real inbox or handset. An optional seed makes the output reproducible. A file can have up to 1,000 rows and 20 fields. Rows are generated in your browser and are not sent to our server.
03 · Guide
JSON vs NDJSON vs CSV vs SQL INSERT
All four formats hold the same rows. JSON and NDJSON keep types: numbers and booleans are written without quotes. CSV has no types, so every value is text and the reader decides what is a number. SQL writes numbers bare, booleans as TRUE and FALSE, and everything else as a quoted string.
The sizes are for 1,000 rows of the six default fields (id, name, email, country, signup_date, active) generated by this tool with the seed "demo".
| Format | File | Layout | Size of 1,000 rows |
|---|---|---|---|
| JSON | .json | One array of objects, indented | 178,037 bytes |
| NDJSON | .ndjson | One object per line | 136,034 bytes |
| CSV | .csv | Header line, then one record per line, CRLF | 74,076 bytes |
| SQL | .sql | One multi-row INSERT statement | 91,154 bytes |
04 · Guide
Field types and where the values come from
Person and address values are drawn from the same lists as this site's name and address generators: 416 first names and 321 last names from 8 naming traditions, and 74 cities in 7 countries. Within a row the address fields agree with each other (city, region, postcode and country belong together) and the email is built from the row's name. Names and countries are picked independently, so a row can pair a Japanese name with a French address.
Postcodes keep the leading part of the city's real code and randomise the rest, so they have the right format but are not checked against a postal database.
| Type | Example | Notes |
|---|---|---|
| ID: integer | 1, 2, 3 | Row number, starting at 1 |
| ID: UUID | d6c16ed8-22a6-4835-8e34-1d6a6e131319 | Random, version 4 layout |
| evelyn.jones2@example.com | Name plus row number, so each is distinct | |
| Phone | +447700900480 | E.164, from a reserved fictional range |
| Decimal in a range | 29.92 | 1 to 6 decimal places |
| Date / date and time | 2026-02-23 / 2024-06-01T11:06:29Z | ISO 8601, UTC |
| One of a custom list | free, pro, team | Each value equally likely |
05 · Use cases
When to use the Mock Data Generator
- 01
Seed a development database with a SQL INSERT of a few hundred users
- 02
Create a CSV to test an import screen, including quoted fields
- 03
Generate JSON fixtures that stay identical between test runs by setting a seed
- 04
Fill a table or list component with plausible rows for a demo
06 · Examples
Mock Data Generator examples
2 rows, default fields, NDJSON, seed “demo”
ex 01{"id":1,"name":"John Mitchell","email":"john.mitchell1@example.net","country":"France","signup_date":"2025-08-27","active":false} {"id":2,"name":"Evelyn Jones","email":"evelyn.jones2@example.com","country":"United States","signup_date":"2024-03-11","active":false}
One JSON object per line. Numbers and booleans are not quoted. The same seed and settings return these rows every time.
The same rows as CSV
ex 02id,name,email,country,signup_date,active 1,John Mitchell,john.mitchell1@example.net,France,2025-08-27,false 2,Evelyn Jones,evelyn.jones2@example.com,United States,2024-03-11,false
A header line and CRLF line endings. A value containing a comma, a quote or a line break is wrapped in double quotes, for example "Lyon, ""Vieux"" quarter".
The same rows as SQL, table users
ex 03INSERT INTO users (id, name, email, country, signup_date, active) VALUES (1, 'John Mitchell', 'john.mitchell1@example.net', 'France', '2025-08-27', FALSE), (2, 'Evelyn Jones', 'evelyn.jones2@example.com', 'United States', '2024-03-11', FALSE);
One statement for all rows. A single quote inside a value is doubled, so Rue de l'Église is written 'Rue de l''Église'.
07 · FAQ
Mock Data: frequently asked questions
How many rows and fields can I generate?
How does the seed work?
Is any of this data real?
How is the CSV quoted?
Which databases does the SQL work with?
Are the random values evenly distributed?
Is my data or schema sent to your server?
08 · Reference
Specs and further reading
These are the primary sources this tool follows. Where a specification defines the behaviour, we link the specification, not a summary of it.
- RFC 4180: Common Format and MIME Type for CSV Files
IETF. The quoting rules the CSV output follows: CRLF line breaks, double-quoted fields and doubled quotes.
- RFC 2606: Reserved Top Level DNS Names
IETF. Reserves example.com, example.net and example.org, the only domains used in generated email addresses.
- RFC 3339: Date and Time on the Internet: Timestamps
IETF. The profile of ISO 8601 that the date (2026-02-23) and date-time (2024-06-01T11:06:29Z) fields use.
- Crypto.getRandomValues()
MDN Web Docs. The source of randomness when no seed is set.
09 · More
Tools that pair with Mock Data
Fake Name Generator
Random first, last or full names for test data. Filter by origin (8 lists, from English to Japanese) and gender; generate 1, 10, 25 or 100.
Fake Address Generator
Random postal addresses for test forms and demos, in the local format for the US, UK, Germany, France, Canada, Australia and Japan.
Fake Phone Number Generator
Test phone numbers from ranges reserved for fiction: 555-01XX, 07700 900XXX and more. US, Canada, UK, Australia, France; E.164 or local format.
UUID Generator
Generate UUID v4, v7 or v1, one at a time or up to 1,000. Output as standard, uppercase, braces (GUID), no hyphens, URN or Base64, and decode any UUID you paste.
Lorem Ipsum Generator
Generate lorem ipsum placeholder text by paragraphs, sentences or words. Classic Latin or corporate, hipster and bacon variants. Copy or download as .txt.