Updated 2026 · By ToolFern

Fake JSON Data Generator

Build a small schema, name each field and pick its type, and get back a ready-to-useJSON array of realistic fake records: names, emails, phone numbers, addresses, dates, prices, UUIDs and more. It is free, instant and 100% in your browser.

Field nameTypeOptions

Capped at 10,000 records per batch to keep your browser responsive.

How to generate fake JSON data

  1. Add a field for each key you want in the output, and give it a name such as firstName, email or id.
  2. Pick a type from the dropdown. Some types show extra options, a min and max for Integer and Float, a date range for Date, or a comma-separated list for Enum.
  3. Set how many records you need, from 1 up to 10,000 per batch.
  4. Click Generate JSON. Every record gets its own freshly-randomized value for each field.
  5. Copy or download the result as a .json file and drop it straight into your project.

Why generate fake structured data?

Plain lorem ipsum text is fine for a paragraph, but it falls apart the moment you need an array of objects that looks like real records. A username field full of repeated placeholder text, or an API response where every row is identical, makes it hard to notice bugs that only show up with varied, realistic-looking values, things like a name that is much longer than average, a price with cents, or a date near the edge of a range. This tool fills that gap: it is a lorem ipsum generator for structured data, built for developers and QA testers who need believable fake records rather than filler sentences.

The most common use is seeding a local database during development. Instead of typing rows by hand or writing a one-off script with hardcoded values, define the shape you need once and generate as many rows as your table needs, from a handful for a quick check to a few thousand for a rough load test.

It is just as useful for mocking an API response before the real backend exists. Front-end work can start immediately against a realistic-looking payload, with the right field names and value types, instead of waiting on a backend team or hand-writing a fake JSON file from scratch.

The same output works well for populating a UI with sample content while you build it. A table, a list of user cards, or a settings form reads very differently when it is filled with varied names, dates and prices instead of the same "asdf asdf" text repeated in every row, and that makes it much easier to spot layout problems, like a long company name that wraps awkwardly or a negative price that was not expected.

What is in the generated data

Names, cities, countries, street names, company names and job titles are drawn from bundled word lists and combined at random, so they read naturally without ever pointing to a real person, business or address. Phone numbers always use the (555) exchange, the block NANP reserves for fiction and testing, so there is no chance of generating a number that could reach a real subscriber. Emails are built the same way, from random name and domain combinations, and every field in a record is randomized independently of the others, so a record's name and email are not derived from each other.

Numeric and date fields respect the ranges you set: an Integer or Float stays within its configured min and max, a Date falls inside the range you pick, and an Enum value is always one of the exact options you typed in. A UUID is a standard version-4 identifier, and the Sentence / Paragraph type produces short blocks of classic lorem-ipsum-style filler text for fields where the exact wording does not matter.

Frequently asked questions

Is this data real? Could it match a real person?

No, every value is generated at random from bundled word lists and number ranges. Phone numbers use the (555) exchange, which is never assigned to a real subscriber, and names, emails and addresses are random combinations, not records pulled from any real person or database.

Does any data leave my browser?

No. The word lists and the generator both run entirely in JavaScript on your device. Nothing is uploaded, and there is no server involved at any point.

How many records can I generate at once?

Up to 10,000 per batch. That cap exists to keep the page responsive, since a very large batch with many fields can take a moment to stringify and render. Generate again for another batch.

Can two fields be linked, like a full name matching an email address?

No, every field in a record is randomized independently. A record's Full Name and Email fields are picked separately, so they will not always share the same name. This keeps the tool simple and is normal for this kind of test-fixture data.

Can I control the exact wording of the sample text?

The Sentence / Paragraph type produces classic lorem-ipsum-style filler text from a fixed Latin word bank, the same idea as this site's Lorem Ipsum generator. It is meant as placeholder filler, not editable copy.

What if I leave a field name blank or reuse the same name twice?

A blank name is filled in automatically (field1, field2, and so on) and a repeated name gets a _2, _3 suffix, so every generated record always has a valid, unique set of keys.

Related: JSON Formatter · UUID Generator · Lorem Ipsum generator.