Fake Data Generator
Generate realistic test records as JSON, CSV or SQL inserts.
Realistic Records That Can Never Reach A Real Person
Design a record — row number, UUID, name, email, company, job, address, dates, prices, booleans, IP addresses and more — choose how many rows, and get the data as JSON, CSV, NDJSON or SQL INSERT statements, ready to seed a database, fill a prototype or test an import.
Everything is fake by construction: emails use the domains reserved for examples by RFC 2606, phone numbers the 555-01xx range set aside for fiction, and IP addresses the blocks reserved for documentation. A seed makes the output repeatable, so a test fixture can be regenerated exactly.
Key features
- 24 field types, freely named and reordered.
- JSON, CSV, NDJSON and SQL output.
- Up to 10,000 rows, generated instantly.
- Seeded — the same seed always gives the same data.
- Safe by design — reserved domains, numbers and IP ranges only.
This tool runs entirely inside your browser using native Web APIs. Your files and text are never uploaded to a server, never logged and never shared with third parties.
How to use: Fake Data Generator
- Define the fields
Name each column and pick its type. - Set rows and format
JSON for APIs, CSV for spreadsheets, SQL for databases. - Choose a seed
Keep it fixed for repeatable fixtures, or randomise. - Download or copy
The file extension matches the format.
Technical specifications
| Processing location | Entirely in your browser — no server round trip |
|---|---|
| Data uploaded | None. Files and text never leave your device |
| Price | Free — no account, no trial, no usage cap |
| Category | Developer |
| Works offline | Yes, once the page has loaded |
| Browser support | Chrome 90+, Edge 90+, Firefox 90+, Safari 15+ |
| Interface languages | English, 中文, हिन्दी, Español, العربية |
Frequently asked questions
Is the generated data safe to use in tests?
Yes. Names are random combinations, emails use the three example domains the IETF reserves for documentation (RFC 2606), phone numbers use 555-0100 to 555-0199 and IPs use the documentation ranges, so no test can email, call or reach a real person or server.
Why is the data the same every time?
Because the seed is fixed. That is deliberate — a test that depends on generated data should get the same data on every run. Press New seed for a different set.
Which SQL dialect do the INSERTs use?
Standard SQL with double-quoted identifiers, single-quoted strings and TRUE/FALSE booleans, which PostgreSQL and SQLite accept as is. For MySQL, enable ANSI_QUOTES or replace the double quotes with backticks.
What is NDJSON?
Newline-delimited JSON: one JSON object per line. It streams well and is what tools like BigQuery, Elasticsearch bulk imports and many log pipelines expect.
Can I generate more than 10,000 rows?
Not in one go, to keep the page responsive. Generate several batches with different seeds and concatenate them.