Guide
Generating realistic fake data for tests, demos and teaching
Testing an import, demonstrating a dashboard, teaching spreadsheet skills or filling a staging database all need data that looks real without being real. Copying production data is risky and often against data protection rules. This tool generates realistic fake datasets in seconds, in CSV, Excel, JSON or SQL.
Building the schema
Start from the example columns or reset to them, add columns, rename them and pick a type for each. Types are grouped: IDs (row numbers, UUIDs), people (names, emails, usernames, phones), work (companies, job titles, departments), places (streets, cities, countries, postal codes, coordinates), dates and numbers, text, and web values such as URLs, IP addresses and colors. Move columns up or down to set their order.
Ranges and lists
Numbers and dates take a range: ages from 18 to 65, prices from 1 to 500, sign-up dates within the last two years. Row numbers take a starting value. “One of a list” picks from values you type, separated by commas, such as free, pro, team, which is perfect for statuses, plans and categories.
Realistic gaps
Real data has holes. Set a percentage of blank cells per column, for example 10 percent of customers without a phone number, to test how your import, report or form handles missing values.
Consistent people
Every row draws one person. The email address is built from that row’s name, the city goes with its country, and the company is the same in every column that asks for it. Names come from many cultures, so demos reflect a realistic, international customer base.
Safe by design
Emails use example.com, example.org and example.net, domains reserved for documentation that can never receive mail. Phone numbers use 555-01xx in North America and 07700 900xxx in the United Kingdom, ranges set aside for fiction. IP addresses come from the documentation blocks 192.0.2.x, 198.51.100.x and 203.0.113.x. Nothing you generate can reach or identify a real person.
Same data again
The seed makes the output reproducible: the same columns, row count and seed give exactly the same data, so a bug report or a lesson can refer to a specific dataset. Click the shuffle button for a new seed.
Formats
CSV and Excel suit spreadsheets and import tests. JSON gives an array of objects with numbers, booleans and empty values typed correctly. SQL produces a PostgreSQL-style CREATE TABLE statement and batched INSERTs for a table called mock_data. Up to 100,000 rows can be generated per file.
Typical uses
Load-testing an import with 100,000 rows, filling a demo dashboard with plausible customers and revenue, giving students a messy dataset with blanks to practise cleaning, mocking an API response in JSON for a frontend, or seeding a local PostgreSQL database for development.
Settings are remembered
Your columns, row count and seed are kept in this browser, so the same dataset is one click away next time.
Checking the preview
The first 50 rows are shown as you build the schema, so you can see at once whether a range or a list of options looks right before generating a large file.
Related tools
Mask real data instead with Anonymize CSV Data. Generate SQL from your own spreadsheet with CSV to SQL, or create single IDs with the UUID Generator.
Checked against the current version of the Mock Data Generator on .

