Convert TSV to CSV
Convert TSV to RFC 4180 CSV (and back) with proper escaping, header row, multiple delimiters. Free, offline, client-side, instant, secure.
- Runs in your browser
- Nothing uploaded
- Free, no sign-up
Convert tab-separated to comma-separated values with real RFC 4180 escaping - fields containing commas, quotes, or newlines get properly wrapped and quote-doubled. Reverse direction uses a stateful parser that decodes quoted fields correctly. Table preview shows parsed rows.
Parsed table preview
How to Use Convert TSV to CSV
- Paste your TSV data. Copy from Excel, Google Sheets, a database export, or any tab-separated text file. Each line is one row; values are separated by tab characters. The placeholder shows the format.
- Choose output delimiter. Comma (standard CSV) is the default. Semicolon for European CSV (where comma is the decimal separator). Pipe for legacy systems or database exports that prefer it. The output filename extension reflects your choice.
- Toggle data-cleaning options. Skip blank rows (on by default) drops empty lines. Trim whitespace (off by default - TSV values often have intentional leading/trailing whitespace you want to keep). First-row-is-header marks the top row in the table preview but the CSV output still includes it as row 1.
- Watch the table preview. Shows the first 50 parsed rows so you can verify the conversion. Headers render as
<thead>styled cells when the toggle is on. If column counts look wrong, double-check your input is actually tab-separated (not spaces). - Read the RFC 4180-escaped CSV. Fields containing the output delimiter, double quote, CR, or LF get wrapped in
"..."; embedded quotes are doubled.Doe, Jr.becomes"Doe, Jr.";say "hi"becomes"say ""hi""". Stats show how many fields needed escaping. - Swap for reverse. ⇄ flips to CSV → TSV. A stateful RFC 4180 parser correctly handles quoted fields with embedded delimiters, escaped quotes, and newlines. Output is plain tab-separated - since TSV has no quoting convention, embedded tabs/newlines are replaced with spaces (with a warning toast).
- Copy or Download. Copy puts the output on your clipboard. Download saves
output.csv(forward) oroutput.tsv(reverse) - the file extension reflects the format so Excel/Sheets opens it correctly.
Frequently Asked Questions
Does this actually escape per RFC 4180?
Yes – for real, this time. Fields containing the output delimiter, double quote, CR, or LF get wrapped in "..." with embedded quotes doubled. Doe, Jr. → "Doe, Jr."; say "hi" → "say ""hi""". Output passes through standard CSV parsers (Excel, Python csv module, Node csv-parse) without data corruption. Many tools skip this step and produce broken CSV that fails when a value contains a comma – we don’t.
What’s the difference between TSV and CSV?
TSV uses tab characters as field separators; CSV uses commas. TSV has no escaping convention – it assumes values don’t contain tabs. CSV has RFC 4180 escaping rules for fields with commas, quotes, or newlines. Excel exports both formats; databases and APIs vary. The main advantage of TSV is that values like 3,14 (decimal commas) stay intact without escaping.
What’s “European CSV” with semicolons?
In locales where comma is the decimal separator (Germany, France, Italy, Spain, Brazil, much of EU), Excel saves CSV using semicolons as the field separator to avoid ambiguity with decimal commas. So 3,14;Berlin means “3.14 in Berlin”, not “three values: 3, 14, Berlin”. Pick semicolon if your target environment uses this convention.
What happens to embedded tabs/newlines when converting CSV → TSV?
Replaced with spaces with a warning toast. TSV has no escaping convention – if a value contains a tab, it would silently become two values, corrupting the structure. The tool replaces embedded tabs and newlines with single spaces and reports how many replacements happened so you can spot data that needs further cleanup before TSV-ization.
Does it preserve Unicode and emoji?
Yes – the whole pipeline is UTF-8 throughout. Accented characters (é), CJK (你好), emoji (😀), RTL scripts all pass through unchanged. The browser’s text rendering handles them; the conversion logic just shuffles characters between columns. No re-encoding step that could corrupt anything.
What if my TSV has inconsistent column counts?
Preserved as-is. Each row is converted independently to match its actual column count. If row 1 has 3 columns and row 2 has 5 columns, the CSV output mirrors that. Spreadsheet apps render this as a ragged table; some downstream tools expect rectangular data and may complain, but the conversion itself is faithful.
What about BOM (byte order mark)?
Not specifically stripped. If your CSV/TSV starts with a BOM (), it appears as a leading invisible character in the first cell. Strip it from the source before pasting if needed. Most modern exports don’t include BOM unless explicitly requested for Excel compatibility.
What’s the input size limit?
200,000 characters. Beyond that the table preview slows browsers (each cell is a DOM node). Conversion still processes the full input; only the table preview caps at 50 displayed rows with a “Showing first 50 of N rows” note. Copy and Download deliver the complete output.
Is my data uploaded anywhere?
No. All parsing, escaping, table rendering, and TSV/CSV serialization run in your browser. Open DevTools → Network and confirm zero requests fire – even when you Convert or Download. Safe for proprietary datasets, customer lists, or anything you’d rather not send to a third-party converter.
Does it work offline?
Yes. Total bundle is about 20 KB. Load once, disconnect, keep converting. The parser and serializer are pure JavaScript – no library dependencies, no fonts to fetch, no analytics. Useful for cleaning data on airgapped systems or in environments without internet access.
Related Tools
Convert CSV to TSV →
online CSV to TSV converter. RFC 4180 parser, embedded-tab escape policy. Client-side, instant, secure…
Add Quotes to CSV Online - CSV Quote Wrapper →
Add quotes to CSV fields instantly. Wrap values in double or single quotes, support…
Append CSV Columns →
Easily append columns in CSV files online. Merge datasets quickly with a free, secure…
Convert CSV Delimiter →
Convert CSV Delimiter between comma, tab, semicolon, pipe, or custom delimiters. Free, offline -…
Base64 to CSV Decoder →
Decode Base64 to CSV text - BOM stripped, delimiter auto-detected, URL-safe variant supported. Free,…
Convert CSV Columns to Rows →
Convert CSV Columns to Rows transpose tool. Converts columns to rows with RFC 4180…
Convert CSV Quote Character →
Convert CSV quote characters instantly with our free online tool. Replace single or double…
Convert CSV Rows to Columns →
online CSV transpose tool. Converts rows to columns with RFC 4180 quoted-field support. Client-side,…
Convert CSV to Base64 →
online CSV to Base64 encoder. Standard and URL-safe, MIME line-wrap, UTF-8 safe. Client-side, instant,…
Convert CSV to Text →
online CSV to plain text converter. RFC 4180 quoted-field support, custom joiner, strip quotes.…
Convert Text to CSV →
Convert plain text to RFC 4180 CSV (and back) with proper quoting, header rows,…
Delete CSV Columns →
Delete CSV columns by index or name with proper RFC 4180 parsing (quoted fields,…