fake-data
A fake data generator produces realistic-but-synthetic records β names, emails, phones, postal addresses, companies, dates of birth, IBANs, IPs, user agents β for seeding development databases, testing forms, building demos, and stress-testing applications without using real personal data and risking GDPR / HIPAA exposure. The ZTools Fake Data Generator builds custom record schemas (pick the columns you want), supports localized variants (US, UK, DE, FR, JP, IN names and addresses), can emit 100,000+ rows, and exports as JSON, CSV, SQL INSERT statements, or TypeScript fixtures β all without sending the configuration to any server.
Use casesβ
Seeding a dev databaseβ
Empty schema + 5,000 realistic-looking customers, orders, and addresses. Emit SQL INSERT statements; pipe into psql / mysql.
Form QA and demosβ
Manual testers need plausible inputs. Generate 50 rows once and reuse across regression sweeps; emails fit RFC, postcodes fit the chosen country.
Frontend mock dataβ
Designers build UI before the API exists. Export as JSON and import into the React app as a fixture.
Privacy-safe demosβ
Public demo of an internal CRM cannot use real customer names. Replace the real seed with synthetic equivalents.
How it worksβ
- Pick the columns β Add fields: first_name, last_name, email, phone, address, city, country, dob, company, iban, ip, etc. 60+ field types.
- Configure each field β Locale (en-US, en-GB, de-DE, fr-FR, ja-JP, ...), nullability, unique constraint, custom regex.
- Set the row count β 1β100,000 rows. Larger generates in chunks to keep the browser responsive.
- Pick the output format β JSON, CSV, SQL INSERT (with table name), TypeScript fixture, NDJSON.
- Generate and download β Generation is in-browser; nothing uploads. Streamed download for big batches.
Examplesβ
Input: Schema: first_name, last_name, email; locale en-US; 3 rows; CSV
Output: first_name,last_name,email John,Smith,john.smith@example.com Mary,Johnson,mary.johnson@example.com David,Brown,david.brown@example.com
Input: 5,000 rows; SQL INSERT for users(email, country, signup_date)
Output: INSERT INTO users (email, country, signup_date) VALUES (...) β 5,000 rows
Input: JSON, 10 rows of {id (uuid), createdAt (iso), price (decimal 0β1000)}
Output: Pretty-printed JSON array of 10 objects
Frequently asked questionsβ
Is the data really fake?
Names and addresses come from public dictionaries. Emails are synthesised from name pairs. No record corresponds to a real person.
Can it match my country's phone format?
Yes β pick the locale; phone format follows that country's pattern (e.g., +44 ... for UK, +91 ... for India).
Will emails collide?
For < 1000 rows, collisions are rare. For larger batches, enable "ensure unique email" and the generator appends a numeric suffix when needed.
Does it emit valid IBANs / credit cards?
Yes β IBANs and credit-card numbers pass checksum validation but are test-only; do not use them for real transactions.
Can I save my schema as a preset?
Yes β export the schema as JSON, save it in your repo, and import next time to regenerate identical mock data.
Is GDPR / HIPAA-safe?
Yes β synthetic data has no link to real people. But verify that any sample you ship in screenshots or demos truly came from this tool, not from a real export.
Tipsβ
- Save the schema in your repo so any developer can regenerate the same mock dataset.
- For SQL inserts, name your test table consistently (e.g. seed_users) so it is easy to drop later.
- For UI demos, JSON is the easiest format to import into React fixture files.
- Use locale-correct phone and address formats β generic mock data hides validation bugs that bite later.
- When demoing, pin the seed so screenshots remain identical run-to-run.
Try it nowβ
The full fake-data runs in your browser at https://ztools.zaions.com/fake-data β no signup, no upload, no data leaves your device.
Last updated: 2026-05-05 Β· Author: Ahsan Mahmood Β· Edit this page on GitHub