Skip to converter

CSV to TSV converter

This route does not restructure your table — it changes the delimiter only. The CSV is parsed field by field with quote awareness, then every row is written again with tabs between cells. Row order, header row and cell text stay as they were; commas inside a description stop needing any escaping.

Quoted fields are re-quoted only when a tab or newline needs protecting.

Drop files here or CSV, up to 50 MB each, 10 at a time
    Add a file to start.

    Processed on your device. Files aren’t sent anywhere.

    No sign-up. Nothing to install.

    Parsing the CSV before re-writing it

    The parser reads quotes properly: a quoted field may contain commas, a line break inside quotes stays inside the cell, and two quotes in a row collapse to one. That is what makes the conversion safe for tables exported from spreadsheets, where free-text columns often contain commas.

    The delimiter is detected heuristically from the first part of the file rather than assumed. If the head contains more semicolons than commas, semicolons are treated as the separator; tabs win over commas too. A file that mixes styles can therefore be read with the wrong separator, so check the row count reported after conversion against your own count.

    • Quoted fields keep embedded commas and line breaks
    • Doubled quotes inside a quoted field collapse to one quote
    • Delimiter is guessed from the file head — comma, semicolon or tab
    • A UTF-8 byte-order mark at the start is dropped

    Blank lines disappear, empty cells survive

    A line with no content at all is skipped, so trailing blank lines do not become empty rows. A row with separators but no text between them is kept, because those empty cells carry the column structure.

    No header option here

    Unlike CSV to JSON, this page has no "first row is a header" switch. The first row is treated as text and written out as the first row, exactly as it appeared. Nothing is renamed or typed.

    How the tab output is written

    Each cell is quoted only when it would otherwise break a tab-separated row: if it contains a tab, a quote character, or a line break. Ordinary commas and semicolons are written as plain text, so most rows come out unquoted, which is what strict TSV readers expect.

    The result starts with a byte-order mark so spreadsheet software reads it as UTF-8. Accented Latin characters, Cyrillic and CJK text are preserved; the BOM can look odd when you open the file in a plain text editor.

    • Quoted only if the cell contains a tab, quote or newline
    • Commas and semicolons become ordinary cell text
    • Rows are joined with CRLF line endings
    • Output keeps the input name with a .tsv suffix

    Cells that contain tabs

    If a CSV field itself contains a tab, that cell is wrapped in quotes so the column structure survives. Some strict TSV tools do not understand quoted cells, so check the consumer before importing data with embedded tabs.

    When this is the right conversion

    Use it when a comma is ambiguous in your data — long free-text columns, addresses, prices with thousands separators — and you want a format that pastes cleanly into an editor or feeds a command-line tool without quoting rules.

    It is also the quick fix when an importer splits rows on commas and your file already quotes them correctly: re-delimiting removes the ambiguity without editing the file by hand.

    • Pasting rows into editors and terminal tools
    • Database importers where commas appear inside text
    • Preparing a table for a tool that expects plain TSV
    • Nothing restructured: same rows, same columns, same text

    If you need records instead of a table

    To get keyed objects rather than a re-delimited table, use CSV to JSON, which offers header and indentation controls. This page deliberately leaves the shape alone.

    Limits and what is not guaranteed

    One file may be up to 50 MiB and you may convert up to 10 files in a batch. Everything runs in this browser tab, so a table containing customer data never leaves the machine — no upload, no account.

    There is no CSV validation promise here: the parser is tolerant, and a malformed file is converted as it was read rather than rejected. The reported row count is the practical sanity check.

    • Up to 10 files, 50 MiB each
    • Row count is reported after conversion
    • No type conversion: every cell remains text
    • Heuristic delimiter detection can misread mixed-style files

    Round trip is not byte-identical

    Converting the TSV back to CSV re-quotes only what a comma would break, so quoting style, line endings and the byte-order mark differ from the original file. Cell content is preserved; formatting is not.

    Questions

    Are quoted commas preserved correctly?
    Yes. A quoted field containing commas is read as one cell, then written as plain text in the tab-separated row, since a comma no longer needs protection.
    Does a line break inside a quoted field create a new row?
    No. The break stays inside that cell, and the row continues after the closing quote.
    My file uses semicolons instead of commas. Will it still work?
    Often yes — the delimiter is detected from the head of the file, and semicolons win when they are more frequent than commas. Mixed comma and semicolon files can be misread, so verify the reported row count.
    Do numbers get converted or trimmed?
    No. This route only re-delimits. Cells stay exactly as text, including leading zeros and thousands separators.
    Is the file sent to a server?
    No. Parsing happens in your browser and the .tsv file is offered as a download you choose to save.

    Share this converter

    More sharing options