Home About

About Fun Data Playground

A free synthetic test data generator that runs entirely in your browser. This page covers what it is, the three decisions that shape it, and the limits it keeps on purpose.

What this is

Fun Data Playground generates synthetic test data. You describe a schema — columns, each with a type and options — and it produces up to 100,000 rows and exports them as CSV, TSV, JSON, NDJSON, SQL or XML. There are 68 field types, and the values look like real data without being anyone's real data.

It exists because the alternatives are all worse in a specific way. Production data in a development database is a breach waiting for a misconfigured backup. Hand-written fixtures are twelve rows of test1@test.com that never exercise a Unicode bug or a null. Hosted generators want an account and meter the row count. And faker in a loop is fine until you need the same thousand rows again next week.

The three decisions that shape it

Everything runs in your browser

There is no generation API and no server that sees your schema. This is not a privacy posture bolted on afterwards — it is why there are no limits. A row that costs nothing to produce needs no tier, no quota and no account, and a tool that never receives your data cannot leak it. It also means the site keeps working offline once loaded, and that the converters are safe for files you would not paste into a hosted tool.

The same seed gives the same data

Enter any string as a seed and the output is byte-identical every time, forever. That single property is what makes generated data usable as a test fixture: a CI run that regenerates its data on every run is a CI run that fails differently every Tuesday. It is also why the sample files can be committed and linked — the bytes behind those URLs are fixed.

What the data cannot do is documented

Generated IBANs fail mod-97 validation. Generated UUIDs are seeded, so they are not cryptographically random. Card numbers are the four published test PANs and nothing else. Every one of those is a deliberate limit, and each page says so where you would otherwise find out the hard way. The methodology page covers the rest: where each dataset comes from, which reserved ranges are used, and what none of it is safe for.

How it is built

It is a static site: hand-written HTML, CSS and vanilla JavaScript, no framework, no build step and no dependencies. That is unusual enough to be worth stating, because it is what the privacy claim rests on — there is no bundler, no third-party script and no analytics tag that has not been opted into, so "runs in your browser" is inspectable rather than promised.

The checks are the same shape: dependency-free scripts that run before every deploy. They assert that the generator produces what the pages claim it produces, that the sitemap, llms.txt, the cache rules and the footer all still list the same pages, and that every structured-data date agrees with the sitemap. Those lists used to be maintained by hand across forty files, which is the kind of thing that is correct on the day you write it and wrong a month later.

The sibling sites

Fun Data Playground is one of three, sharing a design language and a purpose — practice and test material that is free and needs no signup:

  • funui.dev — UI patterns to practise test automation against.
  • funapi.dev — mock REST endpoints to develop and test against.

Every interactive control here carries a stable data-testid, on purpose: the site doubles as a target for practising UI automation, and renaming those would break someone's tutorial.

What it will not do

  • Ask you to sign in to generate. Accounts sync settings across devices; they are never a gate.
  • Put your generated data anywhere. There is no upload path in the code.
  • Claim ratings it does not have. There is no review markup on this site, because there are no reviews.
  • Generate anything meant to pass as real. Fake IBANs fail validation and test cards are the published ones, both deliberately.

Common questions

Who is this for?

Developers, QA engineers, data engineers, analysts and students — anyone who needs realistic-looking rows and cannot or should not use production data. It is used for seeding development databases, mocking API responses, building fixtures for automated tests, filling spreadsheet and BI demos, and teaching.

Is it really free, with no limits?

Yes. Generation runs in your browser, so there is no per-row server cost to meter and nothing to paywall. There is no account requirement, no row-count tier and no watermark. The only cap is 100,000 rows per export, which is a practical browser-memory limit rather than a commercial one.

Why should I trust the data is safe to use?

Because of what it is made of. Email addresses use domains reserved by RFC 2606 and RFC 6761 that cannot receive mail; IP addresses come from documentation ranges; card numbers are the published payment-gateway test PANs; IBANs are deliberately invalid. The methodology page documents every one of those choices and what each value cannot be used for.

Does my data ever leave my machine?

No. The generator, the converters and the exports are all client-side JavaScript. Nothing you type into a schema and nothing generated from it is transmitted anywhere. Aggregate visit analytics are separate, load only after an explicit opt-in, and never include generated data.

Do I need an account?

No. Signing in is entirely optional and exists only to sync saved schemas, datasets and settings across your own devices. Everything works without one, saved to your browser’s local storage.

  • /methodology — how each value is generated, and what it is not safe for.
  • /changelog — what has changed, most recent first.
  • /guide — the practical walkthrough, if you would rather start using it.
  • /types — all 68 field types, with options and examples.

Last updated