Mock Data Generator
Build repeatable fixtures for a prototype or test. Choose your fields, keep a seed, and export local sample records.
Edit names, remove objects, or set bounds here. 1–12 fields; Ctrl/Cmd + Enter generates. Escape, then Tab leaves the editor.
Field type reference
- fullName / email / id / boolean
- Use name and type. Emails use example.com; IDs are sample identifiers, not UUIDs.
- integer
- Add min and max integers, inclusive, between -1 billion and 1 billion.
- date
- Add start and end in YYYY-MM-DD format. Valid calendar days from 1900 through 2100, inclusive.
- options
- Add an options array of 1–50 strings. Use JSON escapes for quotes or newlines.
CSV formula protection changes suspicious string values. It is not universal spreadsheet protection, especially after re-saving. JSON keeps original strings. Review CSV before opening it in a spreadsheet.
[
{
"id": "sample-77d6a1b8-0001",
"name": "Nia Reed",
"email": "nia.reed.1@example.com",
"joined": "2025-11-19",
"plan": "team"
},
{
"id": "sample-77d6a1b8-0002",
"name": "Ivo Briar",
"email": "ivo.briar.2@example.com",
"joined": "2025-04-07",
"plan": "starter"
},
{
"id": "sample-77d6a1b8-0003",
"name": "Rae Moss",
"email": "rae.moss.3@example.com",
"joined": "2025-06-01",
"plan": "team"
},
{
"id": "sample-77d6a1b8-0004",
"name": "Mira Elm",
"email": "mira.elm.4@example.com",
"joined": "2025-12-06",
"plan": "team"
},
{
"id": "sample-77d6a1b8-0005",
"name": "Rae Vale",
"email": "rae.vale.5@example.com",
"joined": "2025-11-12",
"plan": "team"
},
{
"id": "sample-77d6a1b8-0006",
"name": "Arlo Briar",
"email": "arlo.briar.6@example.com",
"joined": "2025-03-08",
"plan": "starter"
},
{
"id": "sample-77d6a1b8-0007",
"name": "Ada Finch",
"email": "ada.finch.7@example.com",
"joined": "2025-06-09",
"plan": "studio"
},
{
"id": "sample-77d6a1b8-0008",
"name": "Rae Elm",
"email": "rae.elm.8@example.com",
"joined": "2025-08-13",
"plan": "starter"
}
]
8 fictional records · 5 fields · seed MRHTML-studio
Example records are ready. The same settings reproduce the same output.
Useful fixtures, repeatable by design
A seeded generator makes an example dataset easy to reproduce in a test or share with a colleague. Enter the same seed, field definitions in the same order, and row count to obtain the same records. This tool does not use the current time, a network request, or a real identity source. Its small original name lists are fictional sample components; a coincidental match with a real person is possible.
Create a dataset
- Choose a seed and 1–1,000 rows.
- Edit the field definitions or use Add field to insert a complete example for a supported type. Each field needs a unique name and a type.
- Select Generate records. Correct any validation error before exporting.
- Choose JSON for typed values or CSV for a table with a header row. Copy or download the exact displayed output.
Types, bounds, and reproducibility
Names and emails describe the same generated persona within each row. Email addresses end in the reserved example.com domain and should not be used for delivery. IDs combine a seed hash and one-based row number: they are unique within one generated dataset, not globally unique and not suitable for authentication. Integers and dates include both endpoints; dates are UTC calendar days. Options sample the supplied strings without interpreting them as code.
The seed is hashed over UTF-16 code units with FNV-1a, then drives a Mulberry32 pseudorandom sequence. This is fixture generation, not cryptographic randomness. Altering field order or types can change later values. The finite name vocabulary means names can repeat. Each field name starts with a letter and uses up to 40 letters, numbers, underscores, or hyphens.
CSV quoting and formula protection
Every cell is quoted, inner double quotes are doubled, and records end with CRLF. Commas, line breaks, and quotes inside an option remain part of that cell. With protection enabled, string cells beginning with a formula marker, including after whitespace, receive an apostrophe prefix. Initial tabs and line breaks are also prefixed. Numeric negative integers remain numbers. JSON output is unaffected.
CSV quoting alone does not prevent spreadsheet formulas. Apostrophe protection is a precaution, not a guarantee for every spreadsheet or re-import workflow. Disable it only when your receiving system needs exact raw strings and handles them safely. Prefer JSON when preserving types and literal text is essential.
Limits and privacy
Field definitions are limited to 16,000 characters, 12 fields, and 50 options of at most 200 characters per option field. Each export is capped at one million characters. Definitions stay in the current page; the generator does not store a history. It cannot model relationships between tables, distributions, locales, custom executable templates, or real personal records.
References: RFC 4180 CSV conventions , IANA example domains , and OWASP CSV injection guidance .