CSV to TSV
Convert comma-separated data to tab-separated. The reason this isn't a find-and-replace: a CSV field is allowed to contain a comma as long as it's quoted, so "Berlin, DE" is one field and not two. This parses the quoting properly, then re-emits with tabs — and because tabs almost never appear in real data, most of the quotes disappear on the way out, leaving a file that's readable in a terminal and safe for cut -f2.
How to use
- Paste your CSV into the left pane, or drop a
.csvfile onto the box. - Read the row count in the status line and check it against what you expected — a wrong count means the source quoting is broken.
- Copy or download the TSV. Nothing was uploaded to produce it.
Why convert CSV to TSV at all
Because commas are common in data and tabs are not. A CSV of addresses, prices, or prose is mostly quotes and escapes; the same data as TSV is usually quote-free, which means every naive tool — awk -F'\t', cut, a spreadsheet paste, LOAD DATA INFILE — reads it correctly without implementing a parser. Tab-separated is also the format spreadsheets put on the clipboard, so the output pastes straight into Excel or Sheets as columns.
The trade-off is that TSV has no escape mechanism of its own. If a field genuinely contains a tab or a newline, the output has to quote it, and a strict tab-splitter will still mis-read that row. Escape tabs and newlines converts those to \t and \n sequences instead, which is the fully safe form.
What the parser handles
Quoted fields, doubled quotes inside them ("" → "), embedded commas and newlines, a leading UTF-8 BOM (stripped), and both CRLF and LF line endings. What it does not do is guess at the delimiter: this page reads commas. If your file is semicolon-separated — the European Excel default — use change delimiter, which lets you name the input separator.
FAQ
My file is semicolon-separated, not comma.
That's what Excel writes in locales where the comma is the decimal separator. Use change delimiter and set the source separator to ; — this page assumes commas and would treat the whole line as one field.
Are quotes kept in the output?
Only where they're necessary: a field containing a tab, a newline, or a quote character. Everything else comes out bare, which is usually most of the file.
Does it convert the encoding too?
No — text is passed through as UTF-8. If the source is Latin-1 or UTF-16 and shows garbled characters, fix that first with convert encoding.
Can I go the other way?
TSV → CSV, which adds RFC 4180 quoting so commas and newlines inside fields survive.
Privacy
100% client-side. No upload. See the privacy policy.