Skip to main content

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​

  1. Pick the columns β€” Add fields: first_name, last_name, email, phone, address, city, country, dob, company, iban, ip, etc. 60+ field types.
  2. Configure each field β€” Locale (en-US, en-GB, de-DE, fr-FR, ja-JP, ...), nullability, unique constraint, custom regex.
  3. Set the row count β€” 1–100,000 rows. Larger generates in chunks to keep the browser responsive.
  4. Pick the output format β€” JSON, CSV, SQL INSERT (with table name), TypeScript fixture, NDJSON.
  5. 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.

Open the tool β†—


Last updated: 2026-05-05 Β· Author: Ahsan Mahmood Β· Edit this page on GitHub