Test Data Generator
Generate fake data as JSON, CSV or SQL, test files of any type at an exact size, edge-case strings and valid test card numbers, IBANs and IDs.
Fields (10)
Use dots to nest values in JSON, YAML and XML, e.g. address.city. Templates can reuse earlier fields with {{first_name}}.
Preview
| id | first_name | last_name | phone | date_of_birth | address.city | address.country | status | created_at |
|---|
First 20 rows. Downloads use the same seed, so they start with exactly these rows.
How to generate test data
- For records, open Data, pick a template such as Users, Orders or Indian customers, then add, rename or tweak fields. Each field can be left blank in a share of rows, made unique or turned into a list.
- Choose how many rows, the output format (JSON, CSV, SQL, XML, YAML, TypeScript) and a locale. The same seed always produces the same data, so a failing test can be reproduced.
- For files, open Files, choose a type and an exact size such as 5 MB, or step one byte over or under a limit, then generate. Large files stream straight to disk in Chrome and Edge.
- Use Edge cases for counterstrings and tricky text (emoji, right-to-left, SQL injection and XSS probes) and Values for single test card numbers, IBANs, UUIDs, passwords and timestamps.
Every kind of test data, generated in your browser
The Test Data Generator gives testers and developers everything they reach for while testing in one place: realistic fake records, files of any type at an exact size, strings that break forms, and valid-looking card numbers, IBANs and IDs. Nothing is uploaded, nothing needs an account, and there are no row limits beyond what your device can hold.
Design a schema from more than 80 field types (names, emails, addresses, prices, dates, UUIDs, regex patterns, templates and Indian IDs such as PAN and GSTIN) and download up to a million rows as JSON, CSV, SQL, XML, YAML or TypeScript. Need an upload test file? Generate a 25 MB PDF, a 4.99 MB JPG, a 1-byte-over-the-limit PNG or a 2 GB ZIP, each valid and exactly the size you asked for.
What it generates
| Generator | Description |
|---|---|
| Fake data | Up to 1,000,000 rows from 80+ field types with blanks, unique values, nested objects (address.city) and lists, in 8 locales. |
| Output formats | JSON, JSON Lines, CSV, TSV, SQL INSERTs for PostgreSQL, MySQL and SQLite (with CREATE TABLE), XML, YAML and typed TypeScript fixtures. |
| Exact-size files | PNG, JPG, WebP, GIF, BMP, SVG, PDF, DOCX, XLSX, TXT, CSV, JSON, XML, HTML, Markdown, LOG, WAV, MP4, ZIP and raw binary, valid and accurate to the byte. |
| Problem files | Empty, truncated and corrupt files, wrong extensions, Unicode and 255-character names, a pixel-flood PNG, an SVG with a script, a zip-slip archive and encoding traps. |
| Edge-case strings | Counterstrings for length limits plus whitespace, Unicode, right-to-left, number, date and security-probe strings, each with its byte and character count. |
| Test values | Luhn-valid card numbers for 7 brands, sandbox cards, IBANs, PAN, GSTIN, Aadhaar-format numbers, IFSC, UUID v4/v7, ULID, passwords and timestamps. |
Frequently asked questions
Is any of my data sent to a server?
No. Records, files and values are all generated by your browser. Schemas you build stay on your device unless you copy a share link, and even then only the schema (never generated data) is in the link, after the # so it isn't sent to any server.
How are files generated at an exact size?
Each file is built as a real, valid file first (an image, PDF, spreadsheet and so on), then the remaining bytes are added as padding the format is designed to skip: a private PNG chunk, JPEG comment segments, an unused PDF stream, an XML comment or a ZIP entry. The result opens normally and is exactly the size you asked for, down to the byte.
Does 1 MB mean 1,000,000 or 1,048,576 bytes?
You choose. Most servers and upload limits (nginx, PHP, Express) count 1 MB as 1,048,576 bytes, which is the default. Switch to 1,000,000 to match how macOS and storage vendors count. The exact byte count is always shown, and the ±1 byte buttons make files just under or over a limit.
Are the card numbers, IBANs and Aadhaar numbers real?
No. They are random numbers with correct check digits (Luhn for cards, mod-97 for IBANs, Verhoeff for Aadhaar format, the GSTIN checksum), so they pass format validation but belong to no one and will be rejected by real payment networks and registries. Use the sandbox card numbers with your payment provider's test mode.
How large can generated files and datasets be?
Datasets go up to a million rows. Most file types can be several gigabytes in Chrome and Edge on a computer, which stream straight to disk; other browsers are limited to 500 MB. PDF, DOCX and XLSX are built in memory and capped at 300 MB, and WAV, BMP, WebP and ZIP at 4 GB by their formats.
Can I reproduce the same data later?
Yes. Data is generated from a seed, and the same schema, seed and locale always produce identical rows. Copy a share link to save the schema, settings and seed together.