All tools

Sample Data Generator

Generate rows of fake names, emails, addresses, and dates for testing; export as table, CSV, or JSON.

  • fake
  • mock
  • fixtures
  • sample
  • csv
  • json
  • seed
  • placeholder
  • test data

About Sample Data Generator

Realistic placeholder data is what populates a fresh project's database, fills out a UI mockup so it doesn't look empty, and seeds the tests that prove a CRUD form actually works. Hand-crafting it gets dull fast; relying on Lorem-ipsum-shaped strings for names and addresses produces output that looks obviously fake when you screenshot the UI for a deck.

This generator builds plausible-looking rows: international first and last names, real city/region/country combinations, formatted phone numbers, valid-looking postal codes (Canadian alphanumeric, UK SW1A 1AA-style, US ZIP), realistic dates of birth and account creation timestamps, plausible job titles. Emails use reserved-for-documentation domains (example.com, example.org, .test) so the addresses are safe to put in fixtures without risk of accidentally hitting a real inbox.

How to use

Pick how many rows you want (1–500) and click Generate. Toggle the field chips to include or exclude columns — the canonical ordering is preserved regardless of click order. The Table view shows everything in a scrollable grid; the CSV and JSON views give you copy/download buttons for the exported format.

CSV escaping handles commas, quotes, and newlines correctly. JSON output is pretty-printed with two-space indent. Each click of Generate produces a fresh random batch — the URL preserves your row count, selected fields, and current format, but not the specific rows (those are intentionally regenerated on load so refresh always gives fresh data).

Frequently asked questions

  • Are the names and addresses real people?

    No. First and last names are drawn from a curated list of common given and family names from multiple cultures, then combined randomly — so the combinations are statistically synthetic. City/region/country combinations are real (Toronto is in ON, Canada), but the rest of the address — street name, number, postal code — is generated from valid-looking patterns rather than referring to any real address. Any resemblance to a real person at a real address is coincidence.

  • Why do the emails use example.com?

    Because example.com, example.org, example.net, and the .test top-level domain are reserved by IANA and ICANN specifically for documentation, testing, and placeholder use. They're guaranteed to never be assigned to a real organisation, so emails sent to them can't reach an unintended recipient. Using a real-looking domain like "fakemailcompany.com" is risky — that domain might get registered tomorrow by someone who then receives your test mail.

  • How does this compare to a library like faker.js?

    Faker covers far more locales and field types and supports seeded random for reproducible output. This generator is a quick lightweight alternative for when you need a CSV of 50 plausible rows pasted into a spreadsheet, not a fully scripted testing framework. For permanent test fixtures in a codebase, install faker — for "I need ten fake users right now," use this.

  • Is the data seeded, so I get the same rows each time?

    No — each generation pulls fresh values from crypto.getRandomValues, so consecutive runs produce different rows. The URL preserves your settings (row count, selected fields, format) but not the specific values. If you need reproducible test data, copy the CSV/JSON output once and commit it to your repo as a fixture.

  • What's the row limit?

    500 rows. Beyond that the in-browser render slows and copy-to-clipboard becomes unwieldy. For larger datasets (thousands of rows for performance testing), generate a smaller batch here as a template, then script the expansion server-side or in a test-data fixture script with the pattern of fields you need.

More Generators tools