How is a large synthetic dataset generated for testing?
From three decisions: the shape (the fields, their types and the format — JSON, CSV, SQL, XML), the volume (enough rows to exercise pagination, indexes and import limits) and the variety (boundary values, nulls, duplicates, special characters and the odd malformed row a real export contains). A fixed random seed makes the set reproducible, so a failing test can be re-run on the same rows. Format rules matter at volume: CSV fields with commas, quotes or line breaks must be quoted as RFC 4180 describes, and one oversized JSON document behaves very differently from the same rows as JSON Lines.
Read the guide: What is Performance Testing?
How to use API Test Data Generator
- Describe the fields (or paste a JSON Schema / OpenAPI schema) in the input area.
- Choose how many valid rows you need, the output format and whether to include boundary and invalid variants.
- Optionally set a seed so the same dataset is generated on every run.
- Generate, review the preview and variant tables, then copy or download the files for your test runner.
API Test Data Generator features
- Describe request fields in a one-line-per-field DSL (type, required, min/max, lengths, enum, pattern) or paste a JSON Schema, sample object or OpenAPI document
- Generates up to 1,000 valid rows with realistic synthetic values (emails on example.com, dates, UUIDs, phone patterns) — reproducible with a seed
- Boundary variants, each labelled with the expected outcome: every numeric minimum and maximum with one step inside and one step outside it, each length and maxItems limit with one beyond it, minItems − 1, and zero/negative/very-large or empty/whitespace/Unicode values for fields without limits
- Invalid variants: missing required fields, wrong types, bad formats, out-of-range values, invalid enum members, nulls and extra fields
- Valid rows exported as JSON, JSON Lines or CSV; all variants exported together as JSON for data-driven runners
- Runs entirely in the browser; nothing is uploaded
API Test Data Generator example
Sign-up dataset
Input:
email: email required
age: integer min=18 max=99
plan: enum(free|pro) requiredOutput:
{"email":"harper.reed@example.com","age":31,"plan":"pro"} ← valid row
age = 17 → expected 4xx (minimum − 1 step)
missing "email" → expected 4xx (missing-required)Frequently asked questions about API Test Data Generator
How is this different from the payload generator?
It focuses on datasets: many rows for data-driven tests, from a field list or schema, including boundary and invalid variants.
Is the data real?
No — everything is synthetic test data that never imitates real people. Emails use reserved example.* domains and identifiers are random.
Can I control the output format?
Yes, JSON, JSON Lines and CSV are supported for the valid rows; variants are shown as tables and exported together as JSON.
How do I describe the fields?
One per line: "email: email required", "age: integer min=18 max=99", "plan: enum(free|pro) required", "tags: array maxItems=5". You can paste a JSON Schema, a sample object or an OpenAPI document instead.
What are boundary variants?
Copies of a valid payload with exactly one field changed, each labelled with the expected API outcome. A number with a minimum and a maximum gets six rows: each limit and one step inside it (expected to be accepted) and one step outside it (expected to be rejected); the step is 1 for integers, otherwise multipleOf or 0.01. maxLength and maxItems get the limit and one more, minLength gets the limit and one less, and minItems gets one less. Numbers without limits get zero, negative and very large values; plain strings get empty, whitespace-only and Unicode values.
Technical notes
The field list is compiled to a JSON Schema (type, format, minimum/maximum, minLength/maxLength, enum, pattern, items) and fed to the same payload engine as the API Payload Generator; boundary rows are derived from the numeric, length and array constraints of that schema.
References
- RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) FilesThe commonly implemented CSV rules: comma separators, CRLF line ends, quoting of fields that contain commas, quotes or line breaks.
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange FormatThe JSON grammar: objects, arrays, strings, numbers, the three literals, and UTF-8 as the interchange encoding.
- JSON LinesThe JSON Lines convention: one complete JSON value per line, UTF-8, "\n" separators, .jsonl extension.
- Personal Data Protection Law (English translation)The Saudi law governing personal data — why test environments should use synthetic data rather than copies of real customer records.