Free CSV/TSV converter — upload or paste — no server

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.

Your data never leaves your browser
Correct RFC 4180 re-quoting
Auto delimiter detection
Upload or paste
Always free
CSV ↔ TSV Converter  100% client-side
Drop your CSV or TSV file here
.csv, .tsv, .txt, .tab — input delimiter auto-detected
or paste data directly
 Conversion complete

      
CSV vs TSV — what changes and what doesn't

The key difference is in how fields containing the delimiter are handled.

CSV — comma separator
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.

TSV — tab separator
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.

1
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.

2
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.

3
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.

Python — pandas (recommended)
import pandas as pd # CSV to TSV: df = pd.read_csv('input.csv') df.to_csv('output.tsv', sep='\t', index=False) # TSV to CSV: df = pd.read_csv('input.tsv', sep='\t') df.to_csv('output.csv', index=False)
pandas handles quoting and escaping automatically. to_csv() uses minimal quoting by default — only quotes fields that contain the delimiter.
Python — csv module (no dependencies)
import csv with open('input.csv', newline='') as f_in, \ open('output.tsv', 'w', newline='') as f_out: reader = csv.reader(f_in) writer = csv.writer(f_out, delimiter='\t') writer.writerows(reader)
csv.reader parses quoted commas correctly. csv.writer with delimiter='\t' re-quotes fields that contain tabs. This is the standard approach — do NOT use sed or awk for CSV conversion.
Command line — awk (caution: only for simple CSV)
# Works ONLY for CSV with no quoted commas: awk 'BEGIN{FS=",";OFS="\t"} {$1=$1; print}' input.csv > output.tsv # Safe alternative using Python one-liner: python3 -c " import csv,sys r=csv.reader(sys.stdin) w=csv.writer(sys.stdout,delimiter='\t') [w.writerow(row) for row in r] " < input.csv > output.tsv
The awk approach breaks if any field contains a quoted comma. The Python one-liner is always correct.
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.

Popular searches
csv to tsv converter convert csv to tsv csv to tab delimited convert csv to tab delimited csv to tsv python csv to tsv online csv to tsv excel csv to tsv linux convert csv to tab delimited text file csv to tsv command line change csv to tab delimited csv to tsv free

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
Full parser — not find-and-replace. Handles quoted fields, escaped quotes and multi-line values correctly.
Auto-detect any delimiter
Input delimiter auto-detected from the first line — comma, tab, semicolon or pipe — or set manually.
Upload or paste
Drop a file or paste text directly — both work. Paste mode is instant for data copied from a terminal or spreadsheet.
Free, no conditions
No file size limit, no row cap, no watermark. Funded by display advertising only.
Frequently asked questions
Common questions about converting between CSV and TSV formats.
How do I convert CSV to TSV?
Upload your CSV or paste it into the text area, set output delimiter to Tab, and click Convert. CSVShift parses the CSV correctly — handling quoted commas — and re-serialises as TSV. Fields that were quoted only because of commas are correctly un-quoted in the output.
What is the difference between CSV and TSV?
Both are plain text formats for tabular data. CSV uses commas as column separators and requires quoting fields that contain commas. TSV uses tabs as column separators — commas are ordinary characters and don't need quoting. TSV is simpler to parse with basic Unix tools but requires special handling if any values contain embedded tabs.
How do I convert CSV to TSV in Python?
With pandas: 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.
How do I convert CSV to tab-delimited in Excel?
Open the CSV in Excel → File → Save As → choose Text (Tab delimited) (*.txt). Excel saves the active sheet as a tab-delimited file. Rename the extension from .txt to .tsv if needed. Alternatively, use CSVShift — upload the CSV and download the TSV without opening Excel.
Is my data safe when converting CSV to TSV online?
Yes. The entire conversion runs in your browser in JavaScript. Your file is never uploaded to any server. Open the Network inspector during conversion — zero outbound data requests are made.