Mock Data / Fake Data Generator
Random Generators
Create reproducible mock records from custom fields and export typed JSON, quoted CSV, or SQL INSERT statements. Generate fixtures with reusable seeds.
Fields
Same seed and fields reproduce the same rows. Text uses a 32-bit FNV-1a hash; the LCG is for fixtures, not secrets.
Mock Data / Fake Data Generator
Need test data for your app, database, or demo? This tool generates realistic fake data on demand: names, emails, phone numbers, addresses, UUIDs, dates, and more. Choose your fields, set the row count, and export as JSON, CSV, or SQL INSERT statements. It is useful for local development, mock API responses, database seed scripts, and screenshots that should not expose customer records. Generation runs in this browser; the values you enter and create are not uploaded.
How it works
Add the fields you need from the dropdown, set the number of rows (up to 500), pick your output format, and click Generate. When the seed field is blank, the tool starts from the current timestamp to create a fresh dataset. Enter a seed to repeat a dataset; Use last seed fills in the seed used by the previous generation, including a fresh timestamp seed.
Seed text is converted to an unsigned 32-bit number with FNV-1a over JavaScript UTF-16 code units, then drives a linear congruential generator (LCG). The same seed, field types, labels, order, and row count produce the same records. When a row includes first name, last name, full name, email, or username, those fields share the same first and last name. This small predictable generator is suitable for fixtures and repeatable tests, but it is not cryptographically secure and must not create passwords, tokens, or other secrets.
Available field types
First/last/full names, email addresses, phone numbers, street addresses, cities, states, ZIP codes, countries, company names, job titles, UUIDs, integers, floats, booleans, dates, URLs, usernames, hex colors, IP addresses, fake credit card numbers, and lorem ipsum paragraphs.
Output formats
JSON preserves integer and decimal fields as numbers and Boolean fields as true or false, so code can compare their native types. CSV writes every cell as a quoted string and doubles embedded quote characters, which helps keep commas and punctuation inside a cell.
- JSON: an array of objects, ready for your API mocks or fixtures
- CSV: importable into spreadsheets, databases, or ETL pipelines
- SQL: an INSERT statement with numeric values unquoted, Boolean values as
TRUEorFALSE, and text quoted with apostrophes escaped
Why mock data matters
Testing with placeholder data like "foo" and "bar" catches fewer bugs than realistic data. Real-world data contains edge cases that synthetic placeholders miss: names with apostrophes (O'Brien), addresses with apartment numbers, emails with subdomains, and phone numbers in various formats. Realistic mock data reveals these issues before production does.
Seeding for reproducibility
Using a fixed random seed produces the same dataset every time it is run. This is useful for regression tests and snapshot testing - if the seed is pinned, the generated data is deterministic, so test failures indicate actual behavior changes rather than random variation.
Data privacy best practice
Never use real user data for development, testing, staging, or demos. Regulations including GDPR (Europe) and CCPA (California) impose strict rules on where and how personal data may be processed. Synthetic data can reduce exposure to customer records, but does not by itself satisfy privacy requirements. Generated names and email addresses are examples only; do not contact them or treat them as verified identities.
SQL output guide
The SQL output uses a multi-row INSERT INTO statement and backtick-quoted table and
column names. SQL dialects differ, so review identifier quotes and Boolean syntax before running
it:
- MySQL and SQLite: accept the generated backtick identifier style; confirm the values match your table’s column types.
- PostgreSQL and SQL Server: adjust backtick-quoted identifiers to the
quoting style configured for your database. SQL Server Unicode strings may need an
N''prefix. - Table and column names: the table is
mock_data; column names come from the selected field labels. Boolean literal support also varies between databases.
Related fixture tools
- UUID GeneratorAdd stable identifier fields to the sample records you are building.
- Lorem IpsumCreate longer placeholder text for descriptions and content fixture fields.
- CSV to JSONConvert a CSV fixture into JSON objects for an API or application test.
- JSON to CSVTurn generated JSON records into a CSV file for spreadsheet-based testing.
- JSON FormatterFormat and inspect generated JSON before using it in a fixture or mock response.
- Random NumbersGenerate numeric test values to pair with your structured fixture records.