Dev tools

Mock / random data generator

Generate fake person/address/company/product rows as JSON or CSV, from a fixed static word pool, not a large-scale faker corpus, so values repeat at higher counts. Runs on your device.

Runs on your device. The file is never uploaded.

Mock / random data generator prints person, address, company or product rows, as JSON by default or as CSV. Count starts at 5 and refuses anything outside 1 to 1000. Names, streets and cities come from static pools of eight to twelve entries, picked with crypto.getRandomValues. The four schemas are fixed; no field of your own can be added.

Options

Questions

What data can it generate?

Four fixed schemas. person gives name, email and an age between 18 and 77. address gives street, city and a five-digit zip. company gives a name and an employee count from 1 to 5000. product gives a name and a price between 5 and 500 with two decimals. You cannot define your own fields.

How realistic is the data?

Recognizably fake, which is the point. Names come from a pool of twelve first names and twelve surnames of computing figures, and streets and cities from pools of eight, so values repeat quickly at higher counts. It suits a UI mockup or a test fixture, not anything that needs the data to look statistically unique.

Are the email addresses real?

No. They are built as first.last@example.com, and example.com is reserved by the standards for exactly this purpose, so nothing generated here can reach a real inbox. That makes the rows safe to load into a staging system that might try to send mail to them.

Can I get CSV instead of JSON?

Yes, set format to csv. JSON comes back as a pretty-printed array with two-space indentation. CSV takes its header from the keys of the first row and quotes any value holding a comma, a quote or a newline, doubling inner quotes. With the current schemas the values are tame, but the escaping is there.

How many rows can I make?

Between 1 and 1000, set by count, which starts at 5. Anything else gives "count must be a whole number between 1 and 1000". For a larger fixture, run it more than once and concatenate the results, keeping in mind that each run draws from the same small pools, so batches will overlap.

Is the data generated locally?

Yes, entirely in your browser from word lists compiled into the page, with the random picks coming from crypto.getRandomValues. No API is called and nothing is stored. It also means the tool works offline, which is useful when you are seeding a local database on a plane.

Related Dev tools