AnyFormat

00 TSV → CSV

TSV to CSV

Fields containing commas get quoted automatically.

01TSV in
02CSV out
03Options 7

Exports from European versions of Excel use semicolons, because the comma is the decimal point there.

Off keeps every value as a string — safer for IDs, postcodes and phone numbers with leading zeroes.

Flattening turns {"address":{"city":"Oslo"}} into an address.city column.

  • No upload The conversion runs in this tab. Your file never travels — not to us, and not to the advertising.
  • No sign-up, no email, no daily cap There is no account system to sign up to.
  • No size limit we invented Only your device's memory — about ~2 GB on a desktop browser, ~400 MB on a phone.
  • Turn your Wi-Fi off and convert anyway The conversion needs nothing but this page. Ads will not load without a connection; your file will still convert. That is the whole claim, and it takes five seconds to check.

Swaps tabs for commas, quoting any field that contains a comma, a quote or a newline so the result parses correctly everywhere. Paste straight from a spreadsheet — clipboard data from Excel and Google Sheets is already tab-separated.

This is where quoting starts to matter

Going from TSV to CSV is the direction that introduces ambiguity: a field like Lovelace, Ada was unproblematic with tabs and now needs quotes. That happens automatically. A field containing a double quote gets its quotes doubled, which is the CSV escaping convention.

A tab inside a field is why this is not find-and-replace

TSV has no agreed escaping. The original specification simply forbids tabs, newlines and carriage returns inside a value, which leaves every exporter to invent something: some write a literal , some strip the character, some emit a broken row and move on. Fields are read as literal text and any tab already inside one is treated as a separator, because guessing would silently reshape your data. If a row comes out with more columns than the header, that is what happened, and it is worth fixing in the source rather than here.

Which quoting convention comes out

The output follows RFC 4180: a field is wrapped in double quotes only when it needs to be, and a double quote inside a field is written twice rather than backslash-escaped. That is what Excel, Numbers, LibreOffice and every mainstream CSV library expect. The backslash convention some database exports use is the other common dialect, and feeding one to a reader expecting the other is how a single apostrophe in a name ends up swallowing the rest of the row.

Questions

I pasted from Excel and it worked — why?
Because the clipboard format for spreadsheet cells is tab-separated text. Copying a range and pasting it here is a supported flow.
Will fields containing commas break the output?
No. Any field containing a comma, a double quote or a newline is wrapped in quotes, and embedded quotes are doubled — the standard CSV escaping that every parser understands.
My file uses spaces to line the columns up, not tabs.
That is fixed-width text rather than TSV, and this tool will read the whole line as one field. Replace the runs of spaces with tabs first, or use a fixed-width parser.
Is my data uploaded anywhere?
No. The conversion runs as JavaScript inside this tab. Open your browser's Network panel and convert something — you will see no request carrying your data, because there is no server to send it to. You can also turn your Wi-Fi off and convert anyway.