piapia123
en

Mock Data Generator

Generators

Everything runs locally in your browser — nothing is uploaded

Input
Output

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

  1. Write one field per line as name:type, or click Sample
  2. Choose the output format: JSON, CSV or SQL
  3. Set the number of rows, and the table name if you are exporting SQL
  4. Pick Chinese or English data
  5. 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