Mock Data Generator

Generate realistic JSON mock data for testing. Users, Products, Blog Posts, Transactions. 1–100 records. Free online mock data generator.

100% private · runs locally

Generate realistic JSON datasets for development and testing. Pick a template (Users, Products, Blog Posts, or Transactions), select the number of records (1–100), and get instantly download-ready JSON. All data is generated in-browser with randomized but realistic values — real-looking names, valid email formats, plausible prices, and ISO 8601 timestamps.

Generated mock data 10 records

Related tools

Frequently asked questions

What templates are available?

Four templates: Users (id, firstName, lastName, email, age, city, isActive, createdAt), Products (id, name, slug, category, price, stock, rating, tags), Blog Posts (id, title, slug, excerpt, author, tags, readTime, views, published), Transactions (id, type, status, amount, currency, description, fromAccount, toAccount).

Is the data safe to use in demos and staging environments?

Yes. All generated data is completely fictional — names are randomly combined from predefined lists, emails use example.com / test.org domains, and transaction IDs are random strings. There is no real PII in any generated record.

Why does "Regenerate" produce different results each time?

Every time you click Regenerate (or change the template or count), all values are randomized from scratch using Math.random(). There is no seed, so results are non-deterministic. For repeatable data across runs, paste the generated JSON into your project and commit it as a fixture.

Can I use the generated JSON in automated tests?

Absolutely. Copy or download the JSON and save it as a fixture file in your test suite. It's valid JSON that matches the template's structure, so it's ready to use as a seed in test databases, API mocks (MSW, WireMock, Mirage.js), or Storybook stories.

What date format do the timestamps use?

All timestamps use ISO 8601 format (e.g. 2024-06-15T14:23:00.000Z), generated by JavaScript's Date.toISOString(). Dates are randomized within the past 1–2 years depending on the template, giving realistic spread across the dataset.