Home Tools Blog About

Convert CSV to TSV

In short

online CSV to TSV converter. RFC 4180 parser, embedded-tab escape policy. Client-side, instant, secure - no uploads.

  • Runs in your browser
  • Nothing uploaded
  • Free, no sign-up

Turn CSV into proper TSV (tab-separated values). Handles quoted cells, embedded tabs, and embedded newlines with a policy you choose. Runs entirely in your browser.

🛡
100% PrivateNo server uploads, ever
InstantRuns in your browser
💧
No WatermarksClean output, always
🆓
Free ForeverNo accounts, no limits

How to Use Convert CSV to TSV

  1. Paste your CSV into the input area. The default example shows a comma-CSV with three columns.
  2. Pick the input delimiter (Comma, Semicolon, or Pipe). The output always uses tabs - that's the whole point of TSV.
  3. Keep parser on RFC 4180 unless your CSV is guaranteed to have no quoted fields. RFC 4180 correctly keeps "Smith, Jr." as one cell; simple split would break it apart.
  4. Choose the embedded-tab policy. If any CSV cell already contains a literal tab character, you must decide what to do with it, because TSV has no quoting mechanism. Default Escape as t matches Postgres COPY and the IANA TSV dialect. Pick Replace with space if the downstream tool won't decode escapes.
  5. Same for embedded newlines. Quoted cells in CSV can contain real newlines; a strict TSV must not. The policy options are identical to the tab policy.
  6. Press "Convert to TSV" (or Ctrl+Enter). Stats below the output report how many cells needed embedded-tab or embedded-newline fixes - warnings you should pay attention to.
  7. Copy or download. Download saves as output-*.tsv with the correct text/tab-separated-values MIME type.

Frequently Asked Questions

What actually is the difference between CSV and TSV?

CSV uses commas to separate fields and standardises quoting via RFC 4180 so cells can contain commas or newlines. TSV uses tab characters (U+0009) and – in its strict IANA form – disallows tabs and newlines inside cells entirely. There is no RFC for TSV; “standard TSV” is really several competing conventions.

Does TSV have a quoting mechanism like CSV does?

No. RFC 4180 defined double-quote quoting for CSV in 2005; TSV never got an equivalent. That’s why this tool makes you choose an embedded-tab / embedded-newline policy: the source CSV might legitimately contain them inside quoted cells, but strict TSV can’t hold them. The tool warns you (in stats) whenever it has to fix one.

What does the “Escape as t” policy do?

It replaces each literal tab character inside a cell with the two-character sequence t. This matches Postgres COPY ... FORMAT text and the IANA text/tab-separated-values dialect. The downstream tool has to decode t back to a real tab on its end. Same for n for embedded newlines.

When should I use “Replace with space” instead of “Escape”?

When the downstream tool won’t decode escape sequences – e.g., pasting into Excel, Google Sheets, or a plain text editor. A space preserves readability at the cost of strict round-trip fidelity. Use “Strip” only when you’re sure the whitespace character was noise in the first place.

Is converting CSV to TSV lossless?

Only when no CSV cell contains a tab, a newline, or a delimiter that your parser can’t handle. With the Escape policy plus RFC 4180 parsing it’s lossless in practice as long as the decoder also understands t/n. Simple-mode + Keep-policy is the most ambiguous combination and can silently corrupt structure.

Why do Excel and Google Sheets prefer tabs when pasting?

Because cells typed or pasted into spreadsheets commonly contain commas but almost never contain tab characters. Tab is a safer “can I assume this is a column break?” signal. When you copy a cell range from a spreadsheet, the system clipboard actually holds the selection as TSV, which is why it pastes cleanly into other tables.

What happens to quoted cells during CSV → TSV?

Under RFC 4180, the outer quotes are decoded (not output). A cell like "Smith, Jr." becomes the literal text Smith, Jr. with one tab separator before and after it. Internal "" escapes are also decoded to single ". TSV doesn’t need quoting because its delimiter is unambiguous.

How does this differ from the CSV-to-text tool?

CSV-to-TSV produces a parseable, tab-delimited file that tools can still read as a table. CSV-to-text strips structure entirely and gives you prose joined by whatever character you pick. If you want a file you can feed into a database or reopen as a table, pick this tool; if you want readable free-form text, pick CSV-to-text.

Can I go the other way, TSV back to CSV?

Yes – use a TSV-to-CSV decoder (or feed the result through any tool that parses TSV and outputs CSV). As long as you used the Escape policy and the decoder supports t / n decoding, a round-trip should be exact.

Is the tool free, offline, and private?

Yes – 100% client-side JavaScript. Your CSV is never uploaded, never logged, never stored. Load the page once and it keeps working offline indefinitely.

Keep going

Related Tools

All Csv tools →
Share

Embed this tool

Add this free tool to your website. Copy and paste the code: