Skip to content

Generators

Mock Data Generator (Pro)

25+ field types — names, addresses, products, finance, lorem.

Runs in your browser

Schema · 8 field(s)

[
  {
    "id": "41936071-dfd7-ad91-2fee-8284fd2d7008",
    "name": "Joan Clarke",
    "email": "tony.knuth58@example.com",
    "city": "Singapore",
    "company": "Cyberdyne",
    "joined_at": "2025-11-05",
    "amount": "$990.29",
    "active": true
  },
  {
    "id": "1372c9c6-3404-5ef3-d955-2f1ec6b41813",
    "name": "Hedy Hoare",
    "email": "edsger.torvalds22@example.com",
    "city": "Singapore",
    "company": "Pied Piper",
    "joined_at": "2025-10-01",
    "amount": "$697.47",
    "active": false
  },
  {
    "id": "6228af6b-601d-fc26-47de-358460a5749b",
    "name": "Ken Lamarr",
    "email": "linus.knuth41@example.com",
    "city": "Seoul",
    "company": "Wayne Enterprises",
    "joined_at": "2025-08-24",
    "amount": "$949.99",
    "active": false
  },
  {
    "id": "e0488ffb-d49a-057c-f094-aa74b80dbeb8",
    "name": "Brian Kernighan",
    "email": "hedy.wirth5@example.com",
    "city": "Mumbai",
    "company": "Tyrell",
    "joined_at": "2026-04-26",
    "amount": "$747.48",
    "active": true
  },
  {
    "id": "f7599069-1214-486f-a95b-4ee8ab942315",
    "name": "Frances Wirth",
    "email": "hedy.clarke29@example.com",
    "city": "Singapore",
    "company": "Wonka",
    "joined_at": "2026-03-18",
    "amount": "$730.83",
    "active": false
  },
  {
    "id": "ca4cfce2-98b0-60d3-6fa9-179e22dfc13c",
    "name": "Brendan Eich",
    "email": "joan.hopper67@example.com",
    "city": "Seoul",
    "company": "Tyrell",
    "joined_at": "2025-12-27",
    "amount": "$890.89",
    "active": false
  },
  {
    "id": "c7c37932-62ca-331d-f661-1d4795b43fc0",
    "name": "Joan Turing",
    "email": "margaret.hamilton92@example.com",
    "city": "Helsinki",
    "company": "Soylent",
    "joined_at": "2026-07-08",
    "amount": "$784.58",
    "active": true
  },
  {
    "id": "e0b1b44d-b0d2-3b26-fc78-b308af36e94e",
    "name": "Brian Lamarr",
    "email": "hedy.kernighan34@example.com",
    "city": "Tokyo",
    "company": "Hooli",
    "joined_at": "2026-01-07",
    "amount": "$90.80",
    "active": true
  },
  {
    "id": "bdac7c22-6843-00c5-77d6-8d4928374f6c",
    "name": "Brian Thompson",
    "email": "joan.hamilton39@example.com",
    "city": "Lisbon",
    "company": "Tyrell",
    "joined_at": "2026-05-05",
    "amount": "$547.09",
    "active": true
  },
  {
    "id": "f52bcf8a-2c65-eda4-9220-b3c7ab108bd5",
    "name": "Donald Kernighan",
    "email": "margaret.wirth21@example.com",
    "city": "Lisbon",
    "company": "Stark Industries",
    "joined_at": "2026-04-01",
    "amount": "$288.01",
    "active": false
  },
  {
    "id": "c4a510e8-7e6d-2673-e4f5-911c2eba6305",
    "name": "Niklaus Allen",
    "email": "alan.hopper55@example.com",
    "city": "Mumbai",
    "company": "Stark Industries",
    "joined_at": "2026-07-03",
    "amount": "$866.81",
    "active": true
  },
  {
    "id": "fbec4928-ab73-99ee-417d-e995cccc57b6",
    "name": "Donald Turing",
    "email": "joan.dijkstra34@example.com",
    "city": "Sydney",
    "company": "Stark Industries",
    "joined_at": "2026-01-06",
    "amount": "$960.94",
    "active": true
  },
  {
    "id": "8496823a-f2be-9696-c839-e0a1b2be3d3e",
    "name": "Linus Hopper",
    "email": "tony.allen45@example.com",
    "city": "Tokyo",
    "company": "Globex",
    "joined_at": "2026-06-09",
    "amount": "$331.08",
    "active": false
  },
  {
    "id": "ef5d89ef-6817-4d1c-b1ad-7d7883ed5dcb",
    "name": "Edsger Dijkstra",
    "email": "donald.wirth26@example.com",
    "city": "Tokyo",
    "company": "Globex",
    "joined_at": "2026-05-30",
    "amount": "$265.91",
    "active": false
  },
  {
    "id": "88d15279-8b78-76b5-b759-6eea802b4435",
    "name": "Ada Allen",
    "email": "margaret.turing88@example.com",
    "city": "Mumbai",
    "company": "Stark Industries",
    "joined_at": "2025-11-10",
    "amount": "$927.74",
    "active": false
  },
  {
    "id": "c7dbfa58-5868-25b5-7f4a-9538ebfb4924",
    "name": "Niklaus Kernighan",
    "email": "hedy.dijkstra91@example.com",
    "city": "Tokyo",
    "company": "Hooli",
    "joined_at": "2026-07-11",
    "amount": "$837.78",
    "active": true
  },
  {
    "id": "97b61316-f8f8-2c0d-b2ee-98745f43e2b0",
    "name": "Joan Hamilton",
    "email": "hedy.lovelace72@example.com",
    "city": "London",
    "company": "Hooli",
    "joined_at": "2026-01-03",
    "amount": "$767.56",
    "active": true
  },
  {
    "id": "b1b3721e-23cd-bca4-c3f6-13df560fff6c",
    "name": "Donald Hamilton",
    "email": "margaret.knuth11@example.com",
    "city": "Singapore",
    "company": "Initech",
    "joined_at": "2026-01-23",
    "amount": "$598.82",
    "active": false
  },
  {
    "id": "5929db2c-0b5f-41f3-72f1-03590f4d9141",
    "name": "Grace Kernighan",
    "email": "alan.eich49@example.com",
    "city": "Toronto",
    "company": "Initech",
    "joined_at": "2025-09-10",
    "amount": "$793.65",
    "active": true
  },
  {
    "id": "1b9f10b4-b426-3c93-8b17-c2feed886779",
    "name": "Alan Allen",
    "email": "linus.hamilton73@example.com",
    "city": "Seoul",
    "company": "Tyrell",
    "joined_at": "2026-05-20",
    "amount": "$122.16",
    "active": false
  }
]

Understanding mock data

Realistic-looking data, generated to fit a schema.

Why "John Doe × 1000" doesn't cut it, how Faker.js seeds reproducible fixtures, and the locale tweaks that make screenshots stop looking American.

Production needs realistic-looking shapes.

A list of users called "user1, user2, user3" reveals nothing about how your UI breaks at long names, RTL scripts, accented characters, or single-character last names. Real data has variety: 50-character German compound nouns, Vietnamese diacritics, the customer named O'Brien. Mock data generators sample from real-world distributions of names, addresses, and text so the demo looks like real production usage.

Faker is the workhorse.

@faker-js/faker is the modern fork of the original faker library. It generates: names (50+ locales), addresses (city + state + zip per locale), emails, phone numbers, lorem-ipsum paragraphs, UUIDs, ISO timestamps, fake credit card numbers that pass Luhn check but aren't real. Pin a seed (faker.seed(42)) and the output is deterministic — same fixture in tests and on staging.

Locale matters.

The default Faker locale is en_US — fine for English app screenshots, hilariously wrong for a German B2B product. Set the locale to match the audience:faker.locale = 'de' for "Müller", "Königsberger Straße", "+49 30 555 0123". Multiple locales for an international tenant. Many test suites and Storybook stories ship en_US data and only discover the breakage at customer demo time.

A worked fixture.

A "user list" fixture for a 50-row table: generate 50 users with { id: faker.string.uuid(), name: faker.person.fullName(), email: faker.internet.email(), createdAt: faker.date.recent({ days: 30 }) }. Seeded with 42, the output is the same every run. Cypress and Storybook reuse it; the design reviewer sees the same "Lila Rüegg, lila@yopmail.com, 2 days ago" each time. Less reproducibility magic than fixed JSON; more variety than handwritten data.

50 users

schema + seed

UUID + name + email + recent date, deterministic.

faker.seed(42) ; map(50, () => ({ ... }))

= 50 rows, repeatable

Edge-case bias.

Real Faker output is too tidy. Real production data has outliers Faker won't generate on its own: the 200-character full name, the empty bio field, the name that's entirely emoji, the year-2099 birth date typo. Mix Faker output with a hand-curated "edge case" set — a few rows per fixture for the names that broke production once. That hybrid catches the layout bugs the polite samples miss.

Don't ship Faker to clients.

Faker is megabytes of locale data. It belongs in tests, fixtures, and the dev-only backend mock — not in production frontend bundles. Tree-shaking handles most of it automatically; explicit submodule imports (import { faker } from "@faker-js/faker/locale/en") help further. If Faker ends up in a customer-facing chunk, the bundle analyser will flag it as the largest single dependency; that's the symptom to look for.

Frequently asked questions

Quick answers.

What data formats can I export?

The generator supports JSON, CSV, and SQL insert statements. You can also copy individual rows or the entire dataset directly to your clipboard.

How many records can I generate at once?

You can generate up to 5,000 records per batch. Large batches are processed in your browser memory, so performance depends on your device hardware.

Is the generated data truly random?

Yes. It uses a library of realistic values combined with randomisation to ensure variety in names, addresses, and secondary fields like `UUID` or `Lorem Ipsum` text.

Can I define custom fields?

Select from over 25 predefined field types including personal details, commerce data, and technical identifiers. You can rename headers to match your specific database columns.

People also search for

Related tools

More in this room.

See all in Generators