Fake Data Generator
Generate realistic fake data for testing — names, emails, addresses, and more.
15001000

Utilities

Fake Data Generator

Generate realistic fake data for testing — names, emails, addresses, and more.

Fake Data Generator produces realistic test fixtures across ten data types — Full Names, Email Addresses, Phone Numbers, Street Addresses, Credit Card Numbers, UUID v4, Random Dates (ISO), Secure Passwords, Random Numbers, and Hex Colors — without any faker.js dependency. Pick a type, set Count on a 1–1000 slider (Random Numbers also expose Min/Max), and "Generate {Type}" fills a scrollable results table you can Copy All, export as JSON, or export as CSV.

Generation is driven by an in-repo mulberry32 PRNG seeded with Date.now(), so sequences are reproducible within a page session. Emails combine first/last name lists with separators and digits; phones cycle four US-style formats; addresses assemble number + street + city + state + zip; credit cards use brand prefixes (Visa 4, MC 5, Amex 37, Discover 6) with a simple checksum digit for test data only. Everything runs locally — no network.

How it works

lib/fakeData.ts seeds mulberry32 with Date.now() and exposes one generator per DATA_TYPE label. Names pick from first×last lists; emails are name + separator + optional digits at a domain-list address; phones choose among us/dots/paren/intl formats; addresses join num + street + city + state + zip; credit cards pick a brand prefix, fill digits, and append a Luhn-ish checksum digit grouped by 4s; dates stay within 2000–2024, month 1–12, day 1–28 (ISO); passwords are 12–21 chars from alnum+symbols; numbers span min–max; colors emit #rrggbb.

Results land in fakeDataSlice (dataType/count/results). CSV export writes an index,value header with quote escaping; JSON export is a plain array. The "Generate {Type}" button toasts "Generated {n} {type-lowercased}". No network calls — word lists and the PRNG live entirely in the bundle.

How to use

  1. Step "Configure" — pick Data Type from the select (ten options from "Full Names" to "Hex Colors").
  2. Set Count on the slider (1–1000; ticks at 1, 500, 1000).
  3. If type is "Random Numbers", set Min and Max (defaults 0/1000).
  4. Click "Generate {Type}" (toast "Generated {n} {type}").
  5. Browse the results table (# / Value, sticky header, scrollable to max-h-80) under "{n} results generated".
  6. "Copy All" (newline-joined) → toast "Copied to clipboard!".
  7. Download "JSON" (fake-{type}-{count}.json) or "CSV" (fake-{type}-{count}.csv).
  8. "Clear Results" resets the list and step indicator.

Tips

  • Credit cards use brand prefixes + a simple checksum digit — test data only, never real PANs.
  • Phone numbers cycle four US-style formats for realistic variety in fixtures.
  • Dates stay ≤ day 28 to avoid invalid month/day combos across generated ranges.
  • mulberry32 seeded from Date.now() gives stable sequences within a page session — regenerate without changing the seed for the same stream.
  • CSV export always includes the index,value header, so it drops straight into spreadsheets.

Fake Data Generator FAQ

How many items max?

The Count slider max is 1000 (range 1–1000 with ticks at 1, 500, 1000).

Are the credit card numbers real?

No — random digits with brand prefixes and a basic checksum; they're test fixtures only and shouldn't match live PANs.

What RNG is used?

A mulberry32 PRNG seeded with Date.now() — not Math.random for the main generation stream.

Which exports exist?

Copy All (clipboard), JSON download (fake-{type}-{count}.json), and CSV download (fake-{type}-{count}.csv with an index,value header).

Is any data sent to a server?

No — generators and word lists run locally in lib/fakeData.ts with no network access.

Credits

ShareTweet
More Utilities

Command Palette

Search for a command to run...