CSV delimiters, explained.
"CSV" says comma, but the separator between fields is really a choice — comma, semicolon, tab, or pipe. Pick the wrong one and your columns shift or collapse. Here's when each makes sense and how to switch.
"CSV" says comma, but the separator between fields is really a choice — comma, semicolon, tab, or pipe. Pick the wrong one and your columns shift or collapse. Here's when each makes sense and how to switch.
Two reasons. First, delimiter collision: real data is full of commas — addresses, prices, free text — and an unquoted comma inside a value is read as a new column, shifting everything after it. Second, locale: in many European countries the comma is the decimal separator, so spreadsheets there default to a semicolon instead.
The separator a file uses, together with its quoting and line-ending rules, is its dialect. Matching the dialect to the tool reading it is what keeps columns aligned.
The classic, most widely understood choice. Its one weakness is comma-in-data, which is handled by quoting: a field containing a comma is wrapped in double quotes ("Smith, John"). Use commas when you need the most portable, universally-readable file.
If colleagues on European Excel keep seeing everything in one column, the culprit is usually a comma file meeting a semicolon-expecting Excel (or vice versa). Semicolons avoid clashing with the decimal comma, which is why that region's tools prefer them.
Tabs almost never appear inside data, so a TSV usually needs no quoting at all — which makes it the cleanest choice when your values are full of commas. It also pastes straight into Excel or Google Sheets, splitting into columns with no import dialog.
Many databases default to tab-delimited on export for exactly this reason.
When data contains both commas and tabs, a pipe (|) is a common fallback — it's rare in ordinary text and visually distinct. Any character can serve as a delimiter as long as it doesn't appear (unquoted) in your data.
To re-delimit without breaking anything, parse the file with its current separator and re-emit with the new one, quoting any field that needs it. You can do that here in your browser: convert to tab-separated, or pick any custom delimiter — nothing is uploaded.
Going the other way (a delimited or pasted blob into clean CSV) works too.
Open it in a plain-text editor and look at the first line: the character repeated between fields is the delimiter. The validator also detects and reports it.
Effectively yes — same idea, tab instead of comma. Because tabs rarely occur in data, TSV usually avoids the quoting that commas force.
Renaming doesn't change the delimiter inside. A tool reading it as comma-separated will still see one column. Re-delimit the contents instead.
No. The re-delimiting runs entirely in your browser; the file never leaves your device.