Three extensions, .csv, .tsv and .tab, all describe the same idea: a table written as text. The difference is the character that separates the values, and that choice affects quoting, safety and compatibility.
The delimiter
- CSV (comma-separated values) uses a comma.
- TSV (tab-separated values) uses a tab character.
.tabfiles are less standardised. They are usually tab-delimited text, but some programs use the extension for their own formats, so check what produced the file.
Some files named CSV use a semicolon, which is common in regions where the comma is the decimal separator. Others use a pipe (|). The extension tells you the intent, not the guarantee.
Why tabs are attractive
Commas appear naturally in text: names, addresses, descriptions and numbers with thousands separators all contain them. CSV handles this by wrapping such values in double quotes, which adds complexity and a source of bugs. Tab characters rarely appear in ordinary text, so TSV usually needs no quoting at all. That makes TSV easier to produce and parse with simple tools, and simple line-splitting works for a lot of data.
TSV also pastes cleanly. Copying cells from a spreadsheet puts tab-separated text on the clipboard, which is why pasting into a text box often yields tabs.
Why CSV is more widespread
CSV has broader support, particularly in business tools, exports and imports. Many systems that accept data uploads ask for CSV by name. It also has a published description in RFC 4180, whereas TSV is standardised by the IANA media type text/tab-separated-values but with fewer detailed rules.
Where each goes wrong
CSV problems: a comma inside an unquoted value splits it into two columns; a quote character inside a quoted value must be doubled; line breaks inside values need quoting. See CSV quoting and escaping rules.
TSV problems: tabs inside values are not representable in simple TSV. Many tools forbid them, replace them with spaces or escape them as \t, and the escaping convention is not universal. Invisible tab characters are also easy to lose when text is edited or pasted, because editors may turn tabs into spaces.
How to tell which delimiter a file uses
Open the file in a text editor and look at the first line. Commas, semicolons and pipes are visible. Tabs show as wide gaps, and many editors can display whitespace characters so you can see them. If a spreadsheet import puts everything into one column, the delimiter is wrong. In Docento's Text & Markdown Editor, .csv files are checked for comma-separated structure, and .tsv and .tab files for tab-separated structure, so a mismatch shows up as a field-count error on the first row that differs.
Choosing a format
- Use CSV when the receiving system asks for it or needs the widest compatibility.
- Use TSV when values commonly contain commas, you control both ends and you want simple parsing.
- Use a semicolon-delimited file only when the target locale expects it.
- If the data is nested or has types, consider JSON.
Converting
Converting between them means re-reading with one delimiter and writing with another, with correct quoting. Do not use find-and-replace on a whole file: replacing commas with tabs breaks quoted values that contain commas.
Takeaway
CSV and TSV differ by delimiter, and the delimiter choice drives quoting and compatibility. TSV avoids most quoting problems, CSV has the widest support, and .tab needs a closer look. Always confirm the actual separator before you import.