Tools / File / TSV / CSV Converter
Client-side

TSV / CSV Converter

Switch a file between tab-separated and comma-separated in one click, with real CSV quoting in both directions, locally in the browser.

What it does

  • Convert TSV to CSV and CSV to TSV from the same page
  • Quote-aware parsing: commas, tabs and line breaks inside fields survive
  • UTF-8 output without BOM, input BOM removed
  • Output file keeps your file name with the new extension
  • No upload, no server, no account needed

Drop your file here or click to browse

TSV or CSV file

Convert Between TSV and CSV. Client-Side

Drop a tab-separated or comma-separated file, choose the direction, and download the converted file: TSV to CSV, or CSV to TSV, from the same page. A real CSV parser written in Rust and compiled to WebAssembly does the work in your browser tab, so your spreadsheet export never leaves your device. If you always convert the same way, the one-direction pages TSV to CSV converter and CSV to TSV converter skip the choice and go deeper into each case.

How it works

  1. Drop a .tsv, .csv or .txt file onto the drop zone, or click to pick it.
  2. Click "TSV → CSV" or "CSV → TSV".
  3. Download the result. The file keeps its name and gets the new extension, so orders.tsv becomes orders.csv.

What the converter does in each direction

  • TSV to CSV — tabs become commas, and any field that contains a comma, a double quote or a line break is wrapped in double quotes, with inner quotes doubled. Paris, France stays in one cell instead of splitting in two.
  • CSV to TSV — the CSV is parsed with its quoting rules, so "Boston, MA" becomes a single TSV field without the now useless quotes. Quotes are kept only where TSV still needs them: a field that contains a tab, a double quote or a line break.
  • Header row — the first line is converted like any other row, so your column names stay exactly where they were.
  • Values untouched — no type detection, no number or date reformatting, no trimming of spaces, no reordering. Only the separator and the quoting change.

Encoding and line endings

The input is read as UTF-8, and a UTF-8 byte order mark at the start of the file is removed so it does not end up glued to the first column name. The output is UTF-8 without a BOM, with LF line endings, which suits scripts, databases, pandas, R and Google Sheets. Two things to know if you work with Excel. First, a file saved in an older ANSI encoding (Windows-1252) will have its accented characters replaced, so re-save it as UTF-8 before converting. Second, Excel can misread accents when you double-click a BOM-less UTF-8 CSV. Open it through Data, then From Text/CSV, and pick UTF-8 instead.

TSV or CSV: which one do you need?

Both are plain text tables. CSV separates fields with commas and protects special values with double quotes, as described in RFC 4180. TSV separates fields with tabs, which rarely appear in real data, so it seldom needs quoting at all. Pick CSV for most imports, CRMs, e-commerce back offices and APIs, because it is the default almost everywhere. Pick TSV for Unix tools like cut and awk, for bioinformatics formats, for data copied straight from a spreadsheet (which goes to the clipboard as tab-separated text), or when your values are full of commas. If what you need is structured records rather than a different separator, the CSV to JSON converter fits better, and to read or fix a file before converting it, open it in the CSV viewer and editor.

When a conversion fails

The parser is strict about structure: every row must have the same number of fields as the first one. A stray unquoted comma or a row with a missing field produces "Conversion failed." rather than a silently shifted column. The converter also expects a comma as the CSV separator. A semicolon-separated CSV, the default export of Excel in French or German locales, is not supported: its rows are not split on semicolons, so re-export it with commas first.

Why convert TSV and CSV in your browser?

Tabular exports are where personal data piles up: customer lists with emails and phone numbers, payroll extracts, order histories, CRM dumps, survey responses. Pasting them into an upload-based converter hands every row to a third party. Here the file is read and written in the tab with zero network requests, which you can check in the DevTools Network panel or by going offline after the page loads.

FAQ

Can I just rename a .tsv file to .csv?
No. Renaming changes the extension, not the separator, so the content still uses tabs. Software expecting commas will see a single column, and any value containing a comma needs quotes that a rename never adds.
Is there a file size limit?
There is no fixed cap. The whole file is converted in memory, so the practical limit is what your browser can hold, which is far beyond typical exports.
Does the converter change my numbers or dates?
No. Values are copied as text exactly as they are. Only the separator and the quotes around fields change.
Can I paste data instead of dropping a file?
Not on this page, it works on files. Save the data as a .tsv, .csv or .txt file first, then drop it.

One-direction pages: convert TSV to CSV and convert CSV to TSV. More in the file tools.