Mock Data Generator
Generate realistic fake data for testing, prototyping, and development. Define your schema, choose how many rows you need, and download the result as CSV, JSON, NDJSON, or TSV. Everything runs in your browser — no data leaves your device.
Define Columns
How to use the Mock Data Generator
- Start from the default columns (id, first_name, last_name, email) or edit them. Type a column name and pick a type for each one.
- Click + Add Column for more fields, or the × button to remove one. Types include Text, Integer, Float, Boolean, Date, Email, UUID, First Name, Last Name, City, Country, Phone, Company and URL.
- Set Row Count, from 1 to 100,000.
- Choose an Output Format: CSV, JSON, NDJSON or TSV. Click Generate Data to fill the preview with the first 200 rows.
- Click Download to save generated-data with the matching extension. Click Generate Data again for a fresh random set.
Worked example
You need a small customer table to test an import script, with a unique key, a name, a signup date and an active flag.
Column setup
customer_id UUID
first_name First Name
signup_date Date
active BooleanSettings
- Row Count: 3
- Output Format: CSV
Output: generated-data.csv (sample run)
customer_id,first_name,signup_date,active
3f1c2a9e-7b4d-4e8a-9c21-5d6f0b8a1e47,Linda,2023-04-17,true
a92e6d10-1c5f-4b3a-8e7d-2f94c6b0d315,Kevin,2021-11-02,false
0d7b4e82-65a9-4f1c-b3e0-9a8c1d2e7f56,Sarah,2025-06-29,trueEvery run produces new random values, so your file will differ from this one, but the column names, order and formats will match. Dates are always YYYY-MM-DD, booleans are true or false, and UUIDs are version 4. With JSON selected, the same rows download as an array of objects, and booleans and numbers keep their types instead of becoming text.
Frequently Asked Questions
What types of fake data can I generate?
Text (random letters and digits), integers from 0 to 9,999, floats from 0 to 1,000 with two decimals, booleans, dates between 2020-01-01 and 2025-12-31, emails at example.com, UUIDs, first names, last names, cities, countries, phone numbers in the +1-555 format, company names and URLs at example.com. Mix any combination of types in one file.
How many rows can I generate at once?
Up to 100,000 rows per batch. Generation runs in your browser with no server round trip. The preview shows the first 200 rows, and the download contains every row.
Is the id column unique?
Not always. An Integer column holds a random whole number from 0 to 9,999, so values can repeat, especially in larger files. Use the UUID type when you need a unique key for every row, or add a sequential index afterwards with the Add Row Numbers tool.
Is the generated data real personal data?
No. Names, cities, countries and companies are picked at random from short built-in lists, and most company names are fictional. Emails and URLs use the reserved example.com domain, and phone numbers use the 555 prefix. Values are combined at random, so no row describes a real person. That makes the files safe for demos and tests.
Does my data leave my browser?
No. The data is created in your browser and nothing is sent to a server. It is kept only until you close or reload the page, so download it before you leave.
Related tools
SQL Query Tool
Load the generated file and practise queries against it.
Chart Builder
Draw bar charts and histograms from your test data.
Add Row Numbers
Add a sequential 1, 2, 3 index column to the file.
CSV to Parquet
Turn the generated CSV into a Parquet file for testing.
CSV to Excel
Convert the test data to an Excel workbook.
Join Files
Generate two tables and practise INNER and LEFT joins.
Data Profiler
Check column types and value ranges in the output.