Mock data generator
Runs in your browser; nothing is uploaded
Build a list of fields and generate fake records as JSON, CSV or SQL. The same seed always gives the same data.
Fields
6 fieldsWhat is mock data?
Mock data is realistic-looking but made-up data that you use in place of real records while building and testing software. Instead of copying customer data from production, which is risky and often illegal under privacy laws, you generate names, emails and addresses that have the right shape but belong to nobody.
Frontend developers need something to render before the backend exists. Testers need many varied records to check lists, search, sorting and pagination. API tests need request bodies, and databases need seed rows. Demos look more convincing with plausible names than with test1, test2 and test3.
Data from this tool is generated from a seed: the same fields, row count and seed always give the same records. Put the seed in a test fixture and everyone on the team gets identical data; change the seed to get a new set.
How to use this tool
- 1Build the field list on the left: a name and a type for each field, and options such as a number range, a date range or a list of values. Presets fill in common shapes such as users, products, orders and access logs.
- 2Set the number of rows (up to 10,000) and a seed. New seed (Ctrl+Enter) picks a random one.
- 3Choose the output: JSON (pretty or minified), JSON Lines, CSV with a comma, semicolon or tab, or SQL
INSERTstatements for PostgreSQL and SQLite or for MySQL. - 4Check the records in the Table tab, then copy them or download a file (Ctrl+S).
Troubleshooting
- Two fields are named the same
- Every field name becomes a JSON key or a column, so names must be unique. Rename one of them.
- The data changed after a reload
- The seed changed. Note the seed shown in the status bar, or set your own, to get the same rows again.
- MySQL rejects the SQL
- Pick the MySQL dialect: it quotes names with backticks and doubles backslashes in strings, as MySQL expects by default. The other dialect uses standard double-quoted names.
- Excel puts every CSV value in one column
- Excel in many European locales expects semicolons. Choose the semicolon delimiter, or import the file with Data › From Text and pick the delimiter there.
Frequently asked questions
Is the data generated on a server?
No. Records are generated in your browser. The field list and output settings are saved in this browser so they are there next time.
Can the generated people or numbers be real?
Names are random combinations of first and last names. Emails use example.com, example.org and example.net, which are reserved for documentation and never deliver mail. Phone numbers use 555-0100 to 555-0199, the range set aside for fiction in North America, and IP addresses come from the ranges reserved for documentation (192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 and 2001:db8::/32).
Are values unique?
Sequential IDs and UUIDs are. Other values are drawn at random, so names and emails can repeat in large sets; add an ID field when you need a unique key.
Can I use the seed in my own tests?
The seed reproduces data in this tool only. To get the same records in a test suite, download them once and commit the file as a fixture.