TSV → CSV

Turn tab-separated tables into clean, quoted CSV — losslessly.

Your data is processed entirely in your browser and is never uploaded.

Tool workspace

INPUT TSV

Drag & drop file here or browse

TSV Status: Empty0 chars

Options

Conversion

Lossless — CSV quoting can hold commas, quotes, and newlines, so every TSV cell survives. Nothing is refused here.

Local sandbox active
OUTPUT CSV
Output: Empty0 chars
HOW IT WORKS

Convert TSV in three steps

Paste or drop

Any tab-separated table — the shared RFC 4180 parser reads it with the delimiter pinned to tab.

Convert

Press Convert (or Ctrl/⌘ + Enter). Big tables run in a background worker.

Take the CSV

Copy or download the comma-separated result — fields with commas come out quoted, correctly.

Docs · Convert

The lossless direction

TSV → CSV parses a tab-separated table and writes it back as comma-separated values. Because CSV quoting can represent commas, double quotes, and even embedded newlines, this conversion is lossless: every valid TSV cell survives, and nothing is refused for content reasons. A field that contains a comma is wrapped in double quotes so it stays one cell — in TSV a comma is ordinary data, while in CSV it's the delimiter. A rectangular grid is still required (a ragged row fails with the exact line number rather than being padded or dropped). Large tables run in a background worker.

Things to know

CSV quoting holds anything

A field with a comma, a double quote, or even a newline is quoted so it stays one cell. Nothing from a valid TSV is dropped or refused — that's what makes this direction lossless.

name	city
"Turing, Alan"	London
Ragged rows fail

TSV → CSV needs a rectangular grid. A row with a different number of fields fails with the exact line number instead of being silently padded or dropped, which would change your data.

name	role	level
Ada	Engineer	7
Alan	Engineer
The reverse is the lossy one

CSV → TSV is the lossy direction (a newline can't live in a TSV cell). TSV → CSV holds everything, so the two directions are not symmetric.

Tabs are the only delimiter

The input is pinned to a tab delimiter. If your file uses spaces or another separator, it's not a TSV — the parser will read it as one broad column and the grid check will catch it.

Try these

Simple table
name	role	city
Ada	Engineer	London
Alan	Engineer	Oxford

Tabs become commas; the header row is preserved.

Comma in a field
name	display
Alan	"Turing, Alan"

TSV is plain; in CSV the field gets quoted so it stays one cell.

pair this withReverse it → CSV → TSV·Or go to JSON → CSV → JSON

FAQ

Frequently asked questions

Is my TSV uploaded anywhere?

No. Parsing and conversion run entirely in your browser (in a background worker for large tables). Your data never leaves your machine.

What happens to a field that contains a comma?

It's preserved and quoted. In TSV a comma is ordinary data; in CSV it's the delimiter, so the converter wraps that field in double quotes to keep it one cell.

Is this conversion lossless?

Yes. CSV quoting can represent commas, double quotes, and even embedded newlines, so nothing from a valid TSV is dropped or refused. (The reverse — CSV → TSV — is the lossy direction, and that tool says so.)

Do ragged rows work?

No — TSV → CSV needs a rectangular grid. Rows with a different number of fields fail with the exact line number instead of being silently padded or dropped, which would change your data.