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
Drag & drop file here or browse
Options
Lossless — CSV quoting can hold commas, quotes, and newlines, so every TSV cell survives. Nothing is refused here.
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.
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
name role city Ada Engineer London Alan Engineer Oxford
Tabs become commas; the header row is preserved.
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
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.