Test data methodology, privacy and safety

What the generator creates, how repeatability works and why generated values are designed for testing rather than real-world identity or payment use.

Generation happens locally

Fun Data Playground is a static application. Schema editing, preview generation and file export run in your browser; the app has no analytics endpoint, account system or generation API. The Content Security Policy also disables outbound connections. Your current schema is stored in your own browser's localStorage so it survives a refresh.

Deterministic seeds

A seed string is converted into the internal state of a deterministic pseudo-random number generator. Every field then consumes that sequence in schema order. The same seed, schema, options and row count produce byte-identical output. Changing field order or an option intentionally changes the sequence, so exported schemas are the safest way to preserve a long-lived fixture definition.

Fictional and documentation-safe values

  • Names, companies and addresses are assembled from reference lists and random combinations; they are not profiles copied from a customer database.
  • Email and domain values use reserved documentation domains such as example.com and .test.
  • IPv4 and IPv6 values use documentation-only ranges, including RFC 5737 and 2001:db8::/32.
  • Credit card values are payment-provider test PANs. They are not issued accounts and must never be used for real payments.
  • IBAN values are shaped like country-length IBANs but are not bank-valid.

Realism is not validation

Synthetic output is intended to exercise interfaces, serializers, imports and test logic. It does not guarantee postal deliverability, legal identity, bank ownership, phone reachability or production-grade statistical representativeness. Add application-specific constraints when your test requires them.

Testing boundaries deliberately

Use Blank % for nullable columns, Unique for collision-sensitive identifiers, sequential dates for time series, custom lists for domain states and patterns for controlled identifiers. A good fixture includes both ordinary rows and explicit edge cases rather than relying on randomness to discover them.

Open implementation

The generator and its reference data are available in the public source repository. Review the implementation before using it in a regulated or security-sensitive workflow, and report incorrect or unsafe values through GitHub issues.

Ready to apply these rules? Browse the field type reference or choose a workflow from test-data use cases.