Random CSV Data Generator

Define your own columns, pick a type for each one, and download realistic test rows as a CSV or TSV file.

Describe your columns

Types: uuid name first last email phone int:min:max float:min:max:decimals bool date:from:to datetime:from:to seq:start:step pick:a|b|c ip word sentence

How to generate a CSV file

  1. Pick a preset (Users, Orders, Products, Employees or Web server log), or edit the Columns box yourself.
  2. Write one column per line as name:type, for example age:int:18:80 or status:pick:open|closed.
  3. Set Rows (1 to 10,000), the Delimiter and the Line endings. Untick Include a header row if your importer adds its own.
  4. Type a Seed to get identical data every time, or leave it blank for new random data.
  5. Press Copy or Download .csv. With a Tab delimiter the file is saved as .tsv.

Column types

Worked example with a seed

Keep the Users preset, 50 rows, comma and header on, then type 2026 in Seed. The status line reads "50 rows by 7 columns, 5.0 KB, seed "2026"" and the file starts:

id,name,email,age,created,score,active
06ba0f80-ccf4-4366-a849-7924699e8198,David White,anthony.brown48@example.com,33,2022-09-11,66.85,false

The age sits between 18 and 80, the score between 0 and 100 with two decimals, and the same seed returns the same 50 rows on any device.

Limits and edge cases

A value containing the delimiter, a double quote or a line break is wrapped in double quotes with inner quotes doubled, as RFC 4180 describes. The limits are 10,000 rows, 100 columns and 1,000,000 cells per file. Every bad line is listed at once (unknown type, minimum above maximum, impossible date) and nothing is generated until the columns are valid. The download adds a UTF-8 byte order mark only when the file contains non-ASCII characters, such as accents in a pick list, so Excel shows them correctly. Turn the result into JSON with the CSV to JSON converter, or add addresses from the address generator.

Frequently asked questions

Why does Excel put everything in one column?

Excel uses the list separator from your regional settings, and many European locales expect a semicolon. Regenerate with the Semicolon delimiter, or import through Data, then From Text/CSV, and choose the delimiter yourself.

Can I generate exactly the same CSV again?

Yes. Type any word or number in the Seed box. The same seed with the same columns, rows and delimiter returns identical data, which is handy for tests and bug reports.

Are the emails and phone numbers real?

No. Emails use example.com, a domain reserved for documentation, and phone numbers use the 555-0100 to 555-0199 block that is reserved for fictional use, so nothing can reach a real person.

How many rows can I generate at once?

Up to 10,000 rows, 100 columns and 1,000,000 cells in one file. For a bigger dataset, generate several files and change the start value of a seq column so the IDs do not overlap.

Sources: RFC 4180, Common Format and MIME Type for CSV Files; RFC 2606, Reserved Top Level DNS Names; 555 (telephone number).