Convert CSV to TSV
Comma to tab,
correctly.
Free CSV to tab-delimited converter. Correctly handles quoted fields — values quoted only because of commas are un-quoted in the TSV output. Also converts between any delimiters: comma, tab, semicolon or pipe. Upload or paste. Runs in your browser.
CSV vs TSV — what changes and what doesn't
The key difference is in how fields containing the delimiter are handled.
name,age,city Alice,32,"New York, NY" Bob,28,"London, UK"
The city field must be quoted because it contains a comma. Without quotes, the parser would split New York, NY into two separate columns.
name age city Alice 32 New York, NY Bob 28 London, UK
In TSV, commas are ordinary characters — no quoting needed. The quotes around New York, NY are correctly removed. Only fields with embedded tabs need quoting.
How delimiter conversion works
Why naive find-and-replace breaks CSV — and what CSVShift does instead.
Parse — not replace
Simply replacing every comma with a tab breaks quoted fields. "New York, NY" would become "New York[tab] NY" — splitting the value incorrectly. CSVShift fully parses the CSV first, correctly tracking quoted regions where the delimiter is not a separator.
Re-quote only when necessary
In minimal quoting mode, each field is re-evaluated for the output delimiter. A field that needed quoting in CSV because of a comma doesn't need quoting in TSV. But a field containing an embedded tab — uncommon but valid — gets quoted in the TSV output to remain valid.
Serialise with output delimiter
The parsed fields are written back with the chosen output delimiter. The result is a correctly formed TSV — or CSV, semicolon or pipe file — that passes validation by any RFC 4180 compliant parser.
CSV to TSV — command line and code
For scripting and pipeline use cases.
When do you need to convert between CSV and TSV?
Common situations where delimiter conversion is necessary.
Database bulk imports
MySQL's LOAD DATA INFILE and PostgreSQL's COPY command default to tab-delimited input for TSV files. Converting a CSV to TSV before a bulk import avoids having to specify FIELDS TERMINATED BY in the import command.
Excel and Google Sheets compatibility
Tab-delimited files paste cleanly into Excel and Google Sheets — each tab becomes a column separator when pasting into cells. Converting CSV to TSV first lets you paste data directly into a spreadsheet without using the import wizard.
Data with commas in values
Addresses, descriptions, product names and currency values frequently contain commas. CSV files with these values require quoting — which some parsers handle poorly. TSV sidesteps the problem entirely: commas become ordinary characters.
Unix pipeline processing
Command-line tools like cut, sort and awk work naturally with tab-delimited files. Converting CSV to TSV enables standard Unix text-processing tools to parse fields correctly without needing a dedicated CSV-aware parser.
Related CSV tools
Other free converters on CSVShift you might need.
Delimiter conversion
done correctly.
Most online CSV-to-TSV converters do a naive find-and-replace — swap every comma for a tab. This breaks any field that contains a quoted comma. CSVShift fully parses the RFC 4180 CSV, extracting raw field values, then re-serialises with the output delimiter and minimal re-quoting. The result passes validation by any standards-compliant parser.
The same converter handles all four common delimiter combinations: CSV↔TSV, CSV↔semicolon, pipe↔comma and any other combination — using the same correct parse-then-reserialise approach.
RFC 4180 compliant
Auto-detect any delimiter
Upload or paste
Free, no conditions
How do I convert CSV to TSV?
What is the difference between CSV and TSV?
How do I convert CSV to TSV in Python?
pd.read_csv('in.csv').to_csv('out.tsv', sep='\t', index=False). With the csv module: csv.writer(f_out, delimiter='\t').writerows(csv.reader(f_in)). Do NOT use sed 's/,/\t/g' — it breaks quoted commas.