/

Mock Data Generator

Processed Client Side

Generate realistic fake users, products, addresses, and companies as ready-to-use JSON — perfect for seeding databases, prototyping UIs, and testing APIs.

Options

All data is randomly generated in your browser — it is entirely fictional and safe to use in tests and demos.

Output
Pick a type and count, then press Generate.

Bookmark this tool now — skip the search next time you need it.

About Mock Data Generator

This tool runs entirely in your browser. Whatever you paste is processed on your own device and is never uploaded, logged, or sent to any server.

Generate realistic fake records as ready-to-use JSON for seeding a database, prototyping a UI, or exercising an API. Choose users, products, addresses, or companies, pick how many you want, and each record comes out with a UUID and a coherent set of fields — a user has a name, a matching email and username, a phone number, an age, an address, and an active flag, rather than random unrelated strings. Realistic sample data matters more than it sounds: a UI built against records all named "test" hides every layout bug that real names of varying length will surface. Each click of Generate produces an entirely fresh batch, so re-running it is also a cheap way to check that your rendering does not quietly depend on one particular set of values.

Key features

  • Four record types: users, products, addresses, and companies
  • Batch sizes of 1, 3, 5, 10, 25, or 50 records — one field for a single fixture, fifty for a scrolling list
  • Every record gets a genuine UUID as its id
  • User records include first and last name, a matching email and username, phone, age, a nested address, and an active flag
  • Product records include name, SKU, category, price, stock status, quantity, and rating
  • Company records include name, industry, employee count, founding year, address, and website
  • Output is formatted JSON, ready to paste into a fixture file, a seed script, or an API request
  • Regenerate for a completely new batch in one click, with different values every time rather than a reshuffle of the same ones
  • Addresses generated as nested objects with street, city, state, and postal code kept as separate fields
  • Runs entirely in your browser — no account, no rate limit, no data leaving your machine

How to use it

  1. Choose the record type you need.
  2. Choose how many records to generate.
  3. Click Generate.
  4. Copy the JSON and paste it into your seed script, fixture, or request body.

Tips & common mistakes

  • Generate more records than feels necessary. Pagination, sorting, and virtualised list bugs only appear once you are past the first page of results.
  • Names of varying length are the point. A UI that looks fine with fifty records called "test" will break the first time a real name overflows a fixed-width column.
  • Nested address objects on user and company records make this useful for testing form binding and flattening logic, not just table rendering.
  • The data is fictional but plausible, which is exactly what you want for a screenshot or a demo — no real personal data, and nothing that looks obviously fake to a stakeholder.
  • Never let generated data reach a production database. Seed scripts have a way of being run against the wrong environment, so guard them explicitly.
  • For a specific shape this tool does not offer, generate the closest type and reshape it with JSON to CSV or a JSON transform rather than hand-writing fifty records.
  • Batches are random each time, which is what you want for exploratory testing and not what you want for an automated test. Paste a generated batch into a fixture file and commit it when a test needs to fail for the same reason twice.
  • Fifty records is enough to expose a layout problem and not enough to expose a performance one. For load testing, take one generated record as the shape and multiply it in a script instead.
  • Checking whether the generated addresses are properly formatted? Verify one with the Email Validator.

Related tools

Browse all 9 Web / API tools

Frequently asked questions

9

Choose a data type (users, products, addresses, or companies) and how many records you want, then press Generate. Realistic but fictional JSON appears, ready to copy into a seed script or fixture.

No — every value is randomly generated in your browser and entirely fictional, so it is safe to commit into tests, demos, and public repositories.

A count of 1 returns a single JSON object; any higher count returns a JSON array of records, so you can match whatever shape your API expects.

More than feels necessary. Pagination bugs, sort problems, and virtualised list glitches only appear once you are past the first page, so 25 or 50 records surfaces far more than 5.

Names vary in length. A table that looks perfect with fifty rows called "test" breaks the first time a real name overflows a fixed-width column, and generated names catch that early.

Users get a UUID, first and last name, matching email and username, phone, age, a nested address, and an active flag. Products, addresses, and companies each get their own coherent field set.

Yes. Everything is fictional but plausible, so there is no real personal data involved and nothing that looks obviously fake to a stakeholder in a screenshot.

You should not. Seed scripts have a habit of being run against the wrong environment, so guard them explicitly and keep generated data confined to development and test.

Generate the closest type and reshape it — JSON to CSV, or a quick transform — rather than hand-writing fifty records. The generated UUIDs and varied names are the parts worth keeping.