data

Test Data Generator

Generate reproducible test data locally with configurable columns, row count, Seed, and optional missing, boundary, or invalid values.

Local processing
About your filesFiles and content selected in this tool are processed in your browser and are not uploaded to a Browser Kitty backend.
Operation demo See the basic workflow in a short video.

About this tool

Test Data Generator creates dummy data for development and verification from configurable columns, row counts, and Seeds, entirely in the browser. It provides 23 data types, including sequences, numbers, dates, UUIDs, URLs, IPv4 addresses, Japanese names, furigana, phone numbers, postal codes, addresses, and company names.

In addition to normal values, you can intentionally mix in missing values, boundary cases, and invalid values to test input handling and data-import behavior beyond the happy path. A deterministic Seed reproduces the same output from the same settings, and results can be saved as CSV, TSV, JSON, or JSONL. Generation and export preparation stay in the browser and are not sent to Browser Kitty.

Good for

  • Create anything from a small sample to a large dummy dataset for UI or API testing
  • Regenerate the same test dataset with the same Seed when reproducing a bug
  • Mix missing, boundary, and invalid values to exercise validation and import edge cases
  • Start from user, order, or access-log templates and export the result as CSV or JSONL

What it can do

Key capabilities available in this tool.

How to use

  1. Open the tool and choose the row count plus an optional Seed.
  2. Add columns manually or apply a user, customer, employee, product, order, inquiry, or access-log template.
  3. Configure each data type and, when needed, set missing, boundary, and invalid-value ratios or a test-mix preset.
  4. Generate the data and review the first 20 rows together with the Seed actually used.
  5. Choose CSV, TSV, JSON, or JSONL plus encoding, line endings, and a file name, then save the output.
  6. If you want to reuse the setup later, save the row count, Seed, and column configuration as test-data-schema.json.

Supported

  • Rows: 1 to 1,000,000, with a 10,000,000-cell limit for rows multiplied by columns to protect the device.
  • Data types: 23 total, with 14 basic types and nine Japanese-data types, plus seven column templates.
  • Test values: set missing, boundary, and invalid-value ratios per column, or use Normal / Light test / Strict test presets.
  • Output: CSV, TSV, JSON, or JSONL. CSV / TSV support UTF-8 or UTF-8 BOM and LF or CRLF line endings.

Limitations and notes

  • Version 1.0.0 generates columns independently. For example, a Name column and an Email column are not guaranteed to describe the same person.
  • Templates are starting column layouts. Foreign keys, multi-table relationships, and advanced correlations such as linked names and addresses are not supported.
  • Output formats are CSV, TSV, JSON, and JSONL. Version 1.0.0 does not export XLSX, Parquet, SQL, or similar formats.
  • Time and memory required for large generation/export jobs depend on row count, column count, data types, and device performance.

Frequently asked questions

Are generated data or column settings uploaded to a server?

No. Generation and file export run in the browser, and column settings or generated rows are not uploaded to Browser Kitty. Column settings and the Seed may be stored in browser localStorage so the setup can be restored later.

Does the same Seed always reproduce the same data?

Within the same version, the same Seed, row count, and column settings reproduce the same generated result. If the Seed is blank, the app creates one when generation starts and shows the value used.

Can I intentionally mix missing or invalid values into the data?

Yes. Missing, boundary, and invalid-value ratios can be configured independently for each column, or you can start from one of the built-in test-mix presets.

Does the browser render all one million generated rows?

No. Generation validates all rows but keeps only the first 20 rows for the on-screen preview. Export regenerates data from the same Seed and settings in a Worker and serializes it in chunks.

Offline version and source code

Save the standalone HTML build to configure columns, reproduce output from a Seed, generate missing/boundary/invalid values, and export CSV, TSV, JSON, or JSONL without runtime external connections.

View source on GitHub