JSON test data generator

When you are building an API client, a chart or a table component, an array of realistic objects makes the work faster than hand-written samples. FakeRows outputs pretty-printed JSON with numbers as numbers and booleans as booleans, so it can be used directly as a response body.

Preset:

Columns

Preview (first 10 rows)

Saved you some time? Leave a tip, entirely optional.

Dates are ISO 8601 strings, UUIDs follow the version 4 format, and every value is generated from the seed so you can share the exact payload with a teammate.

How the data is generated

FakeRows uses a small, fast pseudo-random number generator that starts from your seed. Text seeds are hashed to a number first, so “demo” and “bug-1234” both work. For every row it draws a first and last name, then fills each column in order: names, emails and usernames reuse that row’s name, addresses pick a house number, street and suffix, numbers fall inside the minimum and maximum you set, and dates land between 2020 and 2026. Because each value depends only on the seed, the columns and their order, the output is fully reproducible.

All values are safe to publish. Email domains are the example domains reserved for documentation, phone numbers sit in the 555-0100 to 555-0199 block set aside for fiction, and IP addresses come from the private 10.0.0.0/8 range. Nothing here will reach a real inbox, phone or server.

Export formats

CSV and TSV include a header row and quote values that contain the separator, quotes or line breaks. JSON is an array of flat objects with numbers and booleans kept as native types. SQL produces multi-row INSERT statements in batches of 100, escaping apostrophes and quoting column names that are not plain identifiers. The status line shows the row count and file size before you copy or download.

Tips for test data

Keep a fixed seed for fixtures and snapshot tests so failures are repeatable, and note the seed in your bug report so others can generate the same rows. Use small row counts while you shape the schema, then raise them for load or pagination tests. Add a Row ID column when your database expects a primary key, or a UUID when it should be globally unique. Your columns, seed and format are remembered on this device for next time; the generated data itself is never sent anywhere.

Frequently asked questions

Is the JSON valid?

Yes. It is produced with the browser’s JSON serializer, so it always parses.

Can I get nested objects?

Not yet. Each row is a flat object, which suits most tables, charts and list views.

What format are dates in?

Dates are YYYY-MM-DD and date-times are full ISO 8601 in UTC, ending in Z.

Is FakeRows free?

Yes. Generate, copy and download as much as you like with no account.

Is anything uploaded?

No. All data is generated in your browser, and only your column settings are saved on this device.

More tools