Developer tool / 04

TSV to CSV Converter

Convert tab-separated data to CSV, quoting any cell that needs it.

TSV to CSV Converter: TOEA splits the rows on tabs and writes them back with commas, wrapping any cell containing a comma, quote, or line break in quotes so the file stays readable. Runs 100% locally in your browser with zero server file uploads.

Runs
In your browser
Cost
Free · no sign-up
Availability
Ready to use
TSV → CSV deskLocal processing

Runs entirely in your browser

↥
Paste TSV below, or choose a file

Up to 5 MB · nothing is uploaded

Tab-separated output from databases

Command-line database clients commonly produce TSV: mysql --batch prints tab-separated rows, and PostgreSQL's COPY … TO writes tabs in its default text format. Both escape special characters in their own way. PostgreSQL writes a NULL as \N, a tab in the data as \t, and a newline as \n. Those escapes are copied into the CSV as literal text, so replace them before importing the result elsewhere.

Checking the CSV that comes out

Cells containing a semicolon or a pipe are quoted as well as those with commas, which is valid CSV and keeps the file safe for programs that guess a different separator. Lines end with a single line feed. Most programs accept that, although the CSV standard, RFC 4180, specifies a carriage return and line feed. Open the result in the CSV viewer to confirm every row has the same number of columns before importing it.

How to use it

  1. Paste TSV or choose a file.
  2. Check the result.
  3. Copy or download the CSV.

Privacy & limitations

The text is converted in your browser and never uploaded, which matters when the file is a config or an export you would rather not hand to a stranger. Quotes inside a cell are doubled, which is how CSV escapes them.

Related tools

Frequently asked questions

When does a cell get quoted?

Whenever it contains a comma, a double quote, a semicolon, a pipe, or a line break. Everything else is written as-is.

What happens to quotes in my text?

They are doubled, so a cell reading she said "hi" is written as "she said ""hi""". That is the CSV convention and spreadsheets read it back correctly.

Why is my spreadsheet export tab-separated?

Copying cells from a spreadsheet puts tab-separated text on the clipboard, which is why pasting into a CSV-expecting field often fails.

Can I convert to something else?

This pair covers comma and tab. For JSON, use the CSV to JSON converter.

Free tool · runs in your browser · no account required