TSV to CSV
BetaConvert tab-separated exports from psql, mysql and Excel into RFC 4180 CSV, and CSV back into TSV, in your browser. Quoting is correct, values stay text, and nothing is uploaded.
- Free, no sign-up
- REST + MCP
- Updated
- Reviewed by Olgun Ozoktas
Converted in your browser. We do not upload the file. Quoting follows RFC 4180. Values stay text; 00123 is not turned into a number.
The quoted CSV will appear here..
Why Use Our TSV to CSV Converter?
Tab-separated values is the plainest table format there is: one record per line, one tab between fields, and, in the strict form, no tabs or line breaks inside a field. psql and mysql --batch write it, Excel offers it as Text (Tab delimited), Google Sheets exports it as .tsv, and a copy from any spreadsheet grid pastes it. CSV is the format the rest of the world accepts, and its one hard rule is quoting: a field that holds the separator, a quote or a line break must be wrapped in quotes, with each inner quote doubled. That rule is RFC 4180, and this page applies it.
TSV to CSV reads the text, including a field that Excel wrapped in quotes because it held a tab, and writes CSV with a comma or a semicolon as the separator. A leading byte order mark is dropped, CRLF line ends are accepted, and blank lines are skipped. CSV to TSV reads a CSV per RFC 4180, detecting the separator from the first line, and joins the cells with tabs; a cell that holds a tab, a quote or a line break is quoted the way Excel's export quotes it, and every other cell is bare. The status line counts the rows and columns and warns when rows have a different width than the header.
Values stay text in both directions. A part number keeps its leading zeros, a long id keeps every digit, and a date is not reformatted. The Excel BOM toggle adds a UTF-8 byte order mark to the download for Excel on Windows. The input cap is 5 MB for TSV and 10 MB for CSV. Nothing is uploaded; the file is converted in your browser.
How it compares
Excel can open a tab-delimited file and save it as CSV, but that round trip reformats dates and drops leading zeros unless every column is set to text first. A find-and-replace of tabs with commas breaks on the first value with a comma in it. This page applies the one quoting rule, changes no value, and keeps the file in the tab.
TSV and CSV Tips
- A cell is quoted only when it holds the separator, a quote or a line break. Every other cell is written bare, so the CSV stays readable.
- Excel wraps a tab-delimited field in quotes when it holds a tab, a quote or a line break. The page reads such a field as one value. A quote inside a bare field, as in 5" pipe, is a literal character.
- Values are never changed. 00123 keeps its zeros, 1e5 stays text, and a date is not reformatted. The spreadsheet decides the type when it opens the file.
- A row with a different number of columns than the header usually has a stray tab or a line break inside a value. The count in the status line finds it; the row still converts.
- mysql --batch writes a tab or a newline inside a value as the two characters backslash and t or backslash and n. The page does not unescape those; they stay as written.