Why switch from commas to tabs
Commas are everywhere in real data — names, addresses, prices in some locales, free-text notes — so CSV needs quoting, and quoting is where tools disagree. Tabs rarely appear in values, which makes TSV easier to handle in several situations:
- Pasting into a spreadsheet: a TSV block pasted into Excel or Google Sheets splits into columns automatically, with no import wizard.
- Unix pipelines:
cut -f2,awk -F'\t'andsort -t$'\t'work on TSV without a CSV parser. - Loading into tools that prefer it, such as
mysql LOAD DATAdefaults, BigQuery’s tab option, or many scientific datasets.
What the conversion does
The CSV is parsed with full RFC 4180 rules, then each record is written with tab separators:
- Quotes that only existed to protect commas are removed:
"Tan, Aisha"becomesTan, Aisha. - Doubled quotes inside quoted fields are decoded, so
"Chloé ""CJ"" Martin"is written asChloé "CJ" Martin. - Rows keep their order and their number of fields, including ragged rows; nothing is padded or trimmed.
- Values are not typed or reformatted:
00123stays00123and1520.50keeps its trailing zero. - Line endings are normalised to LF, a leading byte-order mark is removed, and blank lines are skipped.
Fields that cannot be written raw
A small number of values cannot appear as-is in a TSV line: a field containing a tab, a line break (from a quoted multi-line CSV cell), or one that starts with a quote would be misread. Those fields are wrapped in double quotes with inner quotes doubled, exactly as spreadsheets do when they copy such cells.
When this happens, a warning reports how many rows were affected and the first line number, because strict TSV readers (which treat quotes as plain characters) may not understand them. Spreadsheet software and the TSV to JSON converter read them correctly. If your target is a strict reader, remove tabs and line breaks from those cells first.
No options, no data loss
There are no settings: the header row is copied like any other row, and the output delimiter is always a tab. Every value from the CSV is present in the TSV, byte for byte, apart from the quoting described above. Converting back with TSV to CSV yields equivalent CSV, although quoting may differ where the original quoted fields unnecessarily.
The input must be valid CSV. Unbalanced quotes stop the conversion with a line number instead of shifting every following column.
Tips
Semicolon-separated exports from European Excel versions are read as a single column, because only commas count as separators here. Check odd characters against the CSV encoding guide before converting, and keep in mind that your file stays on this device throughout.
Examples
Contacts with quoted commas
The protective quotes disappear because commas need no escaping in TSV, and the doubled quotes become single ones.
id,name,city,joined,balance
1,"Tan, Aisha",Singapore,2024-03-11,1520.50
2,Ben Okafor,Lagos,2023-11-02,88.00
3,"Chloé ""CJ"" Martin",Paris,2025-01-20,-12.75
id name city joined balance
1 Tan, Aisha Singapore 2024-03-11 1520.50
2 Ben Okafor Lagos 2023-11-02 88.00
3 Chloé "CJ" Martin Paris 2025-01-20 -12.75
Multi-line notes
The note containing line breaks remains a quoted field in the TSV, and a warning says one row needed quoting.
ticket,summary,notes
T-101,Login fails,"Steps:
1. open app
2. tap login"
T-102,Slow search,Only on mobile
ticket summary notes
T-101 Login fails "Steps:
1. open app
2. tap login"
T-102 Slow search Only on mobile
Common errors and how to fix them
| Error | Cause | Fix |
|---|---|---|
This quoted field is never closedExplained | A quote opens a field but never closes, so the parser cannot tell where the field ends. | Add the closing quote at the end of the field. |
1 row contain tabs, line breaks or a leading quote; those fields are quoted so no data is lost | A warning: some values cannot be written in a TSV line without quoting. | Fine for spreadsheets. For strict TSV tools, remove tabs and line breaks from those values. |
Unexpected text after a closing quoteExplained | A quoted CSV field is followed by more characters before the next comma. | Move the extra text inside the quotes and double any quotes in it. |
Frequently asked questions
Will any values change?
No. Values are copied exactly; only the delimiter and unnecessary quotes change. Numbers and dates are not reformatted.
What happens to commas inside fields?
They are kept as ordinary characters and the surrounding quotes are dropped, since commas are not special in TSV.
Why are some TSV fields still quoted?
Those fields contain a tab, a line break or a leading quote. Quoting them is the only way to keep the data intact in a tab-separated line.
Can I convert semicolon-delimited files?
Not directly; the parser expects commas. Swap the delimiter first or export the file again with commas.