Fake Data Generator

Define a schema, generate realistic mock JSON or CSV data instantly

Define your fields above and hit Generate

About this tool

The Fake Data Generator lets you define a custom schema — field name plus type — and instantly generates realistic-looking mock data as JSON or CSV. Choose from 20 field types including names, emails, phone numbers, UUIDs, addresses, companies, job titles, dates, and Lorem-style text. Use it to populate a frontend with realistic test data before a real API exists, generate CSV fixtures for a data pipeline test, or quickly produce a batch of sample records for a demo. An optional seed value makes output reproducible — the same seed with the same schema always generates identical data, useful for consistent test fixtures across CI runs. All generation happens in your browser using JavaScript — no data is sent anywhere, and there's no rate limit like hosted mock-data APIs often impose.

When to use it

  • Populating a frontend UI with realistic-looking data before the real backend API is ready
  • Generating CSV fixtures for testing a data import or ETL pipeline
  • Creating reproducible test data for CI by setting a fixed seed value
  • Producing quick demo datasets (users, products, orders) for a presentation or prototype

Tips

  • Set a seed value to get the exact same generated data every time — useful for deterministic test fixtures instead of random data that changes each run.
  • Field names become JSON object keys or CSV column headers directly — use camelCase or snake_case to match what your API or database expects.
  • Generate up to 500 rows per run — for larger datasets, generate in multiple batches or increase the row count and re-download.
  • Switch to CSV output to get a file you can drag straight into Excel, Google Sheets, or a database import tool.

Frequently asked questions

Is the generated data safe to use — does it resemble real people?

The names, emails, and addresses are drawn from small fixed lists of common placeholder values (similar to how Lorem Ipsum works for text) combined randomly — they are not sourced from real user records and any resemblance to a real person is coincidental, the same as with any synthetic test data generator.

What does the seed value actually do?

Without a seed, each generation uses fresh randomness and produces different data every time. With a seed, the generator uses that value to initialize a deterministic pseudo-random sequence — the same seed plus the same field schema and row count will always produce identical output, which is useful when you need a stable fixture that doesn't change between test runs.

Can I generate nested JSON objects, like an address object inside a user object?

Not directly — each field generates a single flat value (string, number, boolean, or date). For nested structures, generate the flat fields you need and restructure the JSON afterward, or generate separate arrays (users, addresses) and join them in your own code.

How is this different from a hosted service like Mockaroo?

The core schema-to-mock-data workflow is similar, but this tool runs entirely client-side with no account, no row limits tied to a free tier, and no data ever leaves your browser. Hosted services offer a wider variety of field types and API-based generation for live mock endpoints — for a quick one-off dataset without signing up, this tool covers the common field types you'd need.

Related tools

🥷 ToolNinja