CSV ↔ TSV ↔ Pipe Converter
Switch delimited text between CSV, TSV, pipe, and semicolon — with proper RFC-4180-style quoting and auto-detection.
name role note Alice Admin Lives in Seoul, Korea Bob Editor "Says ""hi""" Carol Viewer Plain note
Inner double quotes are escaped by doubling, per RFC 4180.
How to use
- Paste delimited text into the input box. The separator is detected from the first line.
- Pick the output delimiter. The conversion runs live.
- Row × column count is displayed so you can sanity-check the parse.
About this tool
ShowHide
Pastes data delimited one way and re-emits it delimited another. Auto-detects the input separator from the first line, parses with full quote / escape-quote support, and re-emits with RFC-4180-style quoting (cells containing the new delimiter, quotes, newlines, or edge whitespace are wrapped in "…" and inner quotes doubled). Useful when an Excel export hands you semicolons but your pipeline expects commas, or when you need TSV to paste cleanly into Google Sheets.
Quoting on output is the part that makes the conversion safe rather than merely different. A cell containing the new delimiter has to be wrapped or the row silently grows a column, and a cell containing a quote has to have it doubled or the parser on the other end loses the field boundary. Converting by find-and-replace skips both steps, which is why it appears to work until a single address with a comma in it shifts every column after it.
The semicolon export is not Excel being difficult. In locales where the comma is the decimal separator, a comma-delimited file would be ambiguous on every number, so Excel follows the system list separator and writes semicolons. The same spreadsheet therefore exports differently on two machines in different countries, and a pipeline that assumes commas breaks on one of them.
Tab-separated data is the format to reach for when pasting into a spreadsheet, because the paste path treats tabs as cell boundaries directly. It has a matching weakness: there is no way to represent a literal tab inside a field, so TSV is only safe when the data contains none. CSV can carry anything because it has an escape mechanism, which is exactly what TSV lacks.
Detection reads the first line, so a file whose header happens to contain a comma while the data uses semicolons is detected wrongly and parses into one column. Check the column count in the output before trusting a large paste; a conversion that produced one column is the signature of a misdetected separator rather than of malformed data.
Frequently asked questions
How is the input delimiter detected?
By counting candidate characters (,, \t, |, ;) on the first line, ignoring anything inside "…" quotes. The most frequent wins — comma is the tiebreaker since it's the most common on the web.
What's the quoting rule on output?
RFC 4180 style: a cell is wrapped in "…" whenever it contains the output delimiter, a double quote, a newline, or starts/ends with whitespace. Embedded double quotes are escaped by doubling (" → "").
Why CSV ↔ TSV at all?
TSV is friendlier for spreadsheets — Google Sheets and Excel paste it directly into cells without a dialog. CSV is friendlier for data tools and CLI pipelines. Quick conversion between them removes a step.
Which delimiter should I choose when I get to pick?
Tab, if the destination accepts it. Real data contains commas and semicolons far more often than it contains tabs, so tab-separated files need quoting much less and survive being read by simple tools. Comma is the right choice only when something downstream insists on it — and if a field can contain your delimiter at all, the quoting rules matter more than the character does.
My converted file opens as one column in a spreadsheet. Why?
Because the spreadsheet is applying its own regional expectation rather than reading the delimiter you used: in locales where the comma is the decimal separator, a CSV is expected to be semicolon-separated. Use the import path, where you can state the delimiter, instead of double-clicking the file — or hand over a tab-separated file, which far fewer locales interpret differently.
Guides on this topic
Related tools
HTML Table to CSV Converter
Extract HTML <table> data into CSV, TSV or semicolon-separated rows, in your browser.
Convert
JSON Lines (NDJSON) Viewer
Paste or drop a .jsonl / .ndjson file, see records as a table, filter by field:value, pick which columns to keep, and re-export as JSON or CSV.
File
CSV → SQL INSERT Generator
Convert CSV / TSV rows into SQL INSERT statements with table name, dialect quoting, type inference, and multi-row mode.
Convert
CSV to Excel (XLSX) Converter
Turn CSV or TSV into a real .xlsx file in your browser, with leading zeros, long IDs and codes like SEPT1 kept exactly as typed.
File
CSV Viewer & Sorter
View CSV / TSV data as a sortable, searchable table — open a file or paste rows, no spreadsheet required.
Text
Markdown Table Generator
Paste CSV, TSV, or pipe-delimited data and get a properly aligned GitHub-flavored Markdown table.
Text