ToolLineup

Random CSV Generator

Generate CSV test data with the columns you need: names, emails, addresses, prices, dates, statuses and more. Values are quoted only where the format requires it — when they contain a comma, a quotation mark or a line break — and embedded quotes are doubled, which is exactly the case most hand-written CSV writers get wrong. Rows stay internally consistent, so the email matches the name beside it. Everything is generated in your browser; nothing is uploaded and no result is recorded anywhere.

How it works

Choose the columns you need and how many rows, and the data appears below in whichever format you are pasting it into. Values that belong together stay consistent within a row — the email address is built from that row’s own name, so the result reads like a real table rather than unrelated columns side by side.

Everything generated here is fictional and deliberately unreachable: email addresses use the domains reserved for documentation, phone numbers come from the range set aside for drama and never allocated to anyone, and IP addresses come from the documentation block. Nothing here maps to a real person, and it should not be used as though it did.

Generation runs entirely in your browser.

Start from a preset
Columns
CSV — 0 rows

Values are quoted only where they have to be — one containing a comma, a quotation mark or a line break. Quoting everything is also valid CSV but makes the file larger and harder to read.

Frequently asked questions

How are commas inside a value handled?

A value containing the delimiter is wrapped in quotation marks, which is what the CSV convention requires. A value without one is left unquoted, keeping the file readable.

What happens to a quotation mark inside a value?

It is doubled and the whole value is quoted — so a value reading say "hi" becomes "say ""hi""". This is the rule most hand-rolled CSV writers miss, and it is the usual cause of a file that imports with columns shifted.

Can I generate a TSV instead?

The random TSV generator produces the same data tab-separated. It is worth knowing that a tab is far less likely than a comma to appear inside a value, which makes TSV a little safer for text-heavy data.

Is the header row optional?

Yes — it can be turned off for importers that expect data to start on the first line.

Is any of this data real?

No. Emails use reserved documentation domains, phone numbers come from the range set aside for fiction, and IP addresses come from the documentation block. It is test data and nothing more.

Related tools