Mock Data Generator
GeneratorsEverything runs locally in your browser — nothing is uploaded
Write one field per line as name:type, click Run, and get a full dataset. The values follow real formats: Chinese names come from surname and given-name pools, mobile numbers are eleven digits with a valid prefix, and an email address is built from the pinyin of the name on the same row. Name, email and username in a row all refer to the same fictional person rather than being drawn independently, so the result survives a screenshot, a demo recording or a test database.
Features
- Input format: one field per line as name:type, with # comments and either colon style accepted
- Sixteen types: name, email, phone, username, city, company, date, datetime, number, price, boolean, id, uuid, text, ip, url, enum
- Arguments in brackets: number(18,60), price(10,500), date(2024-01-01,2024-12-31), enum(active,pending)
- Name, email and username on a row belong to the same person, with the email prefix matching the name
- Chinese datasets use Chinese names and cities; English datasets use English names and US-style numbers in the 555-01XX range
- Three outputs: a JSON array, RFC 4180 escaped CSV, or a single multi-row INSERT statement
- An empty input falls back to a built-in field list, so you can see the shape before editing it
How to use
- Write one field per line as name:type, or click Sample
- Choose the output format: JSON, CSV or SQL
- Set the number of rows, and the table name if you are exporting SQL
- Pick Chinese or English data
- Click Run, then Copy
FAQ
- Could a generated phone number belong to a real person?
- The numbers are well-formed eleven-digit mobile numbers, so in principle one could coincide with a real subscriber. That is fine for demos and tests, but never use them for bulk messaging or cold calls. IP addresses are limited to the private ranges 10.x, 172.16-31.x and 192.168.x, so they never point at a real host.
- Why are SQL identifiers not quoted?
- Deliberately. Backticks break on Postgres and double quotes break on MySQL in its default mode, while unquoted identifiers work on both. The trade-off is that a field name must not collide with reserved words such as order, group or select, which is also why names are limited to letters, digits and underscores.
- Can field names be non-ASCII?
- No. Identifiers in the SQL output are unquoted, so spaces, dashes and non-ASCII characters would produce an invalid statement. Field names accept letters, digits and underscores, and cannot start with a digit.
- Is any of this uploaded?
- No. Everything is generated in browser memory, the page makes no network requests, and no account or backend is involved, so nothing is stored or logged.
Related tools
UUID Generator
GeneratorsGenerate a whole column of UUID v4, v7, ULID or NanoID values, one per line, ready to paste into a spreadsheet. Runs entirely in your browser.
JSON Formatter
FormattingFormat, minify and validate JSON, pinpointing syntax errors to an exact line and column. Optional key sorting; runs in your browser.
Lorem Ipsum
GeneratorsGenerate placeholder text as Latin lorem ipsum, English sentences or Chinese filler, in paragraphs, sentences or words, all in your browser.
QR Code
GeneratorsTurn text or a link into a QR code as you type, downloadable as a PNG or a vector SVG. The encoding happens in your browser, never on a server.
Password Generator
GeneratorsGenerate strong random passwords with a live entropy readout, so strength becomes a number you can compare. Passwords stay in memory, never uploaded.