Data & Spreadsheets
Convert CSV Delimiter (Comma, Semicolon, Tab, Pipe)
Free to useNo sign-up requiredNo watermarkRuns in your browser
Last reviewed: 5 October 2026 by Vishal Senthilkumar
A CSV file is only "comma-separated" by convention - plenty of real exports use a semicolon instead, especially from European systems where a comma is already the decimal separator, and some systems use a tab or a pipe to avoid the ambiguity altogether. Opening a file with the wrong delimiter assumed gives you one solid column of text instead of a table, and re-saving it by hand in a spreadsheet program risks the exact leading-zero and encoding problems CSV round-trips are prone to.
This tool reads the file with the delimiter it detects (or one you choose), using the same quote-aware parser the other data tools on this site use - so a field like "Smith, Jr." that contains the delimiter itself, or a field with an embedded line break, is kept as one value rather than being split apart. It then writes the rows straight back out with whatever delimiter you need.
How this tool works
Upload the file
Read straight from your device as a .csv or .txt file - there is no upload.
Check the input delimiter
Detected automatically from the file itself. Change it if it looks wrong.
Choose the output delimiter
Comma, semicolon, tab or pipe - whatever the destination system expects.
Download
A converted CSV, with or without a UTF-8 BOM for Excel on Windows.
How it works
The delimiter is detected by checking which of comma, semicolon, tab or pipe splits the file into a consistent number of columns across its first lines, rather than assuming a comma.
The file is parsed with a quote-aware reader: a quoted field is tracked with an "inside quotes" state, so a delimiter character or a line break that appears inside quotes is treated as part of the value, not as a separator.
Rows are written back out with the chosen output delimiter. Any field that would need quoting under the new delimiter - because it now contains that character, a quote or a line break - is quoted automatically, and a value that looks like a spreadsheet formula is neutralised so the converted file cannot execute anything when it is opened.
Why the delimiter matters
- Comma - the common default for US and UK exports.
- Semicolon - common from European locales, where a comma is the decimal separator and cannot also be a column separator.
- Tab - avoids the ambiguity entirely, often used for copy-pasting into a spreadsheet.
- Pipe ( | ) - used when the data itself may contain commas, semicolons and tabs, such as some log and database exports.
What stays safe across the conversion
A field containing the delimiter character, a quote or a line break is already wrapped in quotes in a well-formed CSV. That quoting is re-evaluated for the new delimiter on the way out, so a value that did not need quotes under a comma but would be ambiguous under a semicolon gets quoted automatically, and vice versa.
Worked examples
Comma to semicolon
A US-style export using commas, converted for a system that expects semicolons because the data itself contains comma-formatted amounts.
Pipe to comma
A log or database export delimited by pipes, converted to plain comma-separated CSV for a spreadsheet.
Frequently asked questions
Is my file uploaded anywhere?
No. Reading, converting and writing the result all happen in your browser - the file never leaves your device.
What happens to a field that already contains my chosen output delimiter?
It is automatically wrapped in quotes in the converted file, exactly as a well-formed CSV should, so it still reads back as one value rather than being split into two columns.
What if the automatic delimiter detection gets the input wrong?
Change it manually from the "Input delimiter" dropdown - the file is re-read with your chosen delimiter immediately.
What does the UTF-8 BOM option do?
It prepends a small marker to the file that tells Excel on Windows to open it as UTF-8. Leave it on if you are not sure; turn it off if the destination system does not expect one.
Will this change my data, not just the delimiter?
No - values are carried across exactly as read. The only things that change are the separator character and, where needed, which fields are quoted.
