Generate realistic fake datasets as JSON or CSV for testing and prototyping
Schema columns
Preview (first 5 rows)
Output
Dummy Data Generator lets you define a schema — column names, data types, row count — and instantly produces a realistic fake dataset in JSON or CSV. No sign-up, no API key, no upload. It’s a hand-rolled micro-faker that runs entirely in your browser.
Available data types
| Category | Types |
|---|---|
| Identity | Full name, First name, Last name, Email, Username, UUID |
| Communication | Phone, URL, Domain |
| Location | City, Country, Street address, Postal code |
| Content | Lorem sentence, Lorem words, Lorem paragraph |
| Numbers | Integer (range), Float, Boolean, Percent |
| Dates | Date (ISO), Date (short), Timestamp (Unix) |
| Business | Company name, Job title, Department |
| Other | Color (hex), Gender |
Each column value is generated independently on every row. There’s no shared state between rows, which makes generation O(rows × columns) — essentially instant up to 1000 rows in a browser. The “faker” is a lookup-table approach: names, cities, companies, and job titles are sampled from curated word lists; UUIDs use crypto.randomUUID(); numbers use Math.random() with configurable ranges; dates generate timestamps within a reasonable window and format them via the Intl API.
CSV output applies RFC 4180 escaping: values containing commas, quotes, or newlines are wrapped in double quotes, and internal double quotes are doubled.
Hand-typed test data is the silent killer of robust testing. When you write test@example.com as your email fixture, you’re testing a normalized, no-edge-case string. Real users send user+tag@subdomain.example.co.uk, names with apostrophes, phone numbers with extensions, and city names with accents. A faker-generated dataset surfaces the character-encoding bugs, the field-length truncations, and the sort-order assumptions that hand-typed fixtures never catch.
Beyond correctness, volume matters. A UI component tested with 5 rows looks fine. At 500 rows, the layout breaks, the scroll performance degrades, and the “empty state” logic turns out to have an off-by-one. Seeding a test database with realistic volume is the difference between “it works in dev” and “it works in prod.”
There’s also a demo and documentation use case. Showing a database schema or an API response to a non-technical stakeholder with real-looking data — not foo, bar, test1 — changes how they engage with the specification. Dummy data that looks plausible produces better feedback.
Seed scripts solve the same problem but they take time to write, live in the repo, and need updating when the schema changes. For one-off prototyping, this is faster.
COPY it into Postgres with \copy table FROM 'file.csv' CSV HEADER. Faster than an ORM seed.description, bio, or notes columns — it produces enough variance to stress-test truncation and overflow behavior.For informational purposes only. Not financial, medical, or legal advice. You are solely responsible for how you use these tools.