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 93 field types, and the values look like real data without being anyone's real data.

Use synthetic fixtures when production records do not belong in a development database. Hand-written fixtures are useful for explicit edge cases; a generator helps when you need more rows. Libraries such as Faker also support seeded output. This tool's difference is a visual schema editor and ready-to-download formats without writing a generation script.

The three decisions that shape it

Everything runs in your browser

Generation and conversion run locally, without a hosted generation API or an account. Generated rows are not uploaded. Signing in optionally syncs saved schemas, reusable datasets, history and preferences to your account; cloud share links publish a schema until expiry or revocation. The converters process their input in the browser and do not upload it.

The same seed gives the same data

Keep the same engine and reference-data version, schema, options, seed and fixed date bounds to regenerate identical output. Templates with relative date bounds must be exported with explicit dates before they become stable fixtures. Keep the exported file when exact bytes must survive future engine changes. This 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 runtime dependencies for generation. Optional account sync loads Firebase SDKs; optional analytics loads Google's tag only after consent. Inspect the network behavior and the privacy methodology to distinguish these from local generation.

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.

Maintainer and feedback

The project maintainer's public profile is azmiyuksel on GitHub. The source repository is private. Authorized collaborators can inspect the repository or report a reproducible issue. Never include personal records, passwords or private datasets in an issue. The CLI source currently declares UNLICENSED; free browser use does not grant a source-code license.

Use the local CLI guide for automation or the MCP setup guide for assistant integrations. The tool directory groups tasks by the output you need.

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?

Generation and conversion run locally; generated rows are not uploaded. If you sign in, saved schemas, reusable datasets, history and preferences sync to your account. Cloud share links publish a schema to anyone holding its URL until expiry or revocation. Aggregate analytics 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 93 field types, with options and examples.

Last updated