Fake Data Generator
Build custom columns, generate up to 500 rows of realistic test data, and export as CSV, JSON, or TSV — 100% in your browser, no account, nothing uploaded.
Columns
How to use
- Click + Add column and choose a data type. Optionally give it a custom name (e.g. user_email instead of Email).
- Add as many columns as you need (up to 10).
- Set the number of rows (1–500) and click Generate.
- The preview table shows your data. Click Download CSV, JSON, or TSV to save the full dataset.
- Click Generate again for a fresh random batch with the same column layout.
Frequently asked questions
What is a fake data generator?
A fake data generator creates realistic-looking but entirely fictitious data for use in software testing, database seeding, UI mockups, and demos. The data looks real — proper name formats, valid email structures, plausible phone numbers — but is randomly generated and not connected to any real person.
Does any data leave my browser?
No. All generation happens locally in JavaScript. Open DevTools → Network and click Generate — you will see zero outbound requests. Your data never touches a server.
What column types can I generate?
Full Name, First Name, Last Name, Email, Phone (US format), UUID v4, Integer, Float, Boolean, Date, Lorem sentence, Lorem paragraph, Company Name, Street Address, City, US State, ZIP Code, Color (hex), and URL.
How many rows can I generate?
Up to 500 rows per generation. The preview shows the first 10 rows; the full dataset is included in all export formats.
What export formats are supported?
CSV (comma-separated values, RFC 4180 compliant with proper field quoting), JSON (array of objects), and TSV (tab-separated values). All exports trigger an immediate file download — no server involved.
Can I use this for database seeding?
Yes. Export as JSON or CSV and import directly into PostgreSQL, MySQL, SQLite, MongoDB, or any database that accepts those formats. JSON export is convenient for NoSQL databases and JavaScript ORMs like Prisma or Drizzle.
Is the generated data truly random?
Yes — each Generate click produces a new dataset using Math.random(). There is no seed control. If you need reproducible data, use a seeded PRNG library like Faker.js in your own codebase.
Are the email addresses real?
No. Emails are generated as firstname.lastname[number]@[domain] using safe, non-deliverable domains (example.com, testmail.dev, mailnull.com). They look realistic but will bounce if emailed. Never send to generated addresses.
How is this different from Mockaroo?
Three key differences: (1) 100% browser-side — Mockaroo processes your data on its servers; (2) no account required — Mockaroo’s free tier limits you to 200 rows per download without login; (3) instant generation with no page reload. Mockaroo has more column types and SQL export; this tool covers the 80% case without touching a server.
Can I save or share my column configuration?
Configurations are not saved between sessions. To reuse a setup, keep the tab open or note your column types. A permalink feature encoding the config in the URL is planned for a future version.
Examples
Seeding a users table
Add columns: UUID v4 (id), Full Name, Email, Boolean (is_active), Date (created_at). Generate 100 rows. Export JSON and run a script to INSERT into PostgreSQL.
{"id":"a3f7c2…","Full Name":"Sarah Chen","Email":"[email protected]","is_active":true,"created_at":"2024-03-15"}
UI mockup data
Need realistic names for a Figma or Storybook mockup? Add Full Name, City, and Company Name. Generate 20 rows. Copy from CSV into your design tool or component props.
James Torres, Austin, Torres Solutions LLC Emma Wagner, Portland, Wagner & Partners
API load testing
Add Email, Phone, Street Address, ZIP. Generate 500 rows as JSON. Feed into k6, Locust, or Artillery to simulate real-world POST request payloads without using real user data.
[{"Email":"…","Phone":"(512) 304-7821","Street Address":"4821 Oak Dr","ZIP Code":"78701"},…]
About fake data generation
Every application that handles user data faces a fundamental tension during development: you need realistic data to build and test against, but you should never use real user data in a development or staging environment. Fake data generation solves this by producing data that looks and behaves like real data — proper name formats, valid email structures, plausible addresses — without touching any actual person’s information.
The most common use cases are database seeding (pre-populating a development database so your UI has something to display), unit and integration testing (generating fixtures on-the-fly so tests don’t depend on a shared test database), UI mockups (giving designers realistic-looking data in Figma or Storybook instead of “Lorem ipsum” everywhere), and load testing (generating thousands of unique request payloads to simulate real traffic).
This tool covers the most common column types: names, emails, phone numbers, addresses, UUIDs, dates, booleans, and numbers. Names are drawn from pools of the most common US first and last names. Emails follow the firstname.lastname[N]@domain pattern with safe, non-deliverable domains (example.com, testmail.dev, mailnull.com). UUIDs are generated using the Web Crypto API’s crypto.randomUUID() where available, with a Math.random()-based v4 fallback. Dates are random timestamps within a configurable range. Addresses use real US city names, state abbreviations, and plausible ZIP codes in the correct format.
The main alternative is Mockaroo, which has been the go-to fake data generator since 2012. Mockaroo’s advantage is breadth: 100+ data types, custom formulas, SQL export, and API access. The tradeoff is that your data travels to their server, and the free tier limits you to 200 rows per download without an account. This tool makes a different tradeoff: fewer column types, but 100% local generation, no account, no row limit, and no data sent anywhere. Open DevTools → Network, click Generate, and you’ll see zero outbound requests — that’s the verifiable guarantee.