Why Excel saves CSV with semicolons (and how to fix it)
You save a sheet as CSV, send it to a colleague or upload it to a web
service, and it fails because the file is full of semicolons:
name;email;city. You never chose a semicolon. Excel did.
Why it happens
Excel doesn't have its own CSV separator setting. When it saves "CSV
(Comma delimited)", it uses the list separator defined by
your operating system's region. In regions where the decimal mark is a
comma (Germany, France, Spain, Italy, Brazil, Russia and many others),
the system list separator is a semicolon, because
3,14 would otherwise clash with the field separator. The
file name still says "comma delimited", but the content isn't.
The opposite also happens: a US-style CSV opened on a semicolon system lands in one column. See the article on CSV data in one column.
Fix 1: change the list separator (Windows)
- Open Control Panel ▸ Region (or Settings ▸ Time & Language ▸ Region ▸ Additional date, time & regional settings).
- Click Additional settings.
- Set List separator to a comma. If the decimal symbol is also a comma, Windows won't let both be the same, so change the decimal symbol to a period first.
- Apply, restart Excel, and save the CSV again.
This changes behaviour system-wide, including how numbers are displayed in other programs. Revert it afterward if you rely on the local format.
Fix 2: a different save option
Saving as CSV UTF-8 (Comma delimited) fixes the encoding, not the separator: it uses the same list separator. On Mac, the separator follows the number format in System Settings ▸ Language & Region.
Fix 3: convert the file you already have
Open the semicolon file in a text editor and replace ; with
,. That is only safe if no field contains a comma, because
those fields would need quotes. A quick find-and-replace turns a field like
3,14 into three and breaks the row. Use a tool that understands
quoting instead.
Google Sheets
File ▸ Download ▸ Comma-separated values (.csv) always uses a comma, whatever your locale. If you need a CSV from Excel data and can't change the region, importing into Sheets and downloading from there is a clean workaround.
When the semicolon is actually correct
If the people receiving your file use the same regional settings as you, a semicolon file opens perfectly in their Excel. The trouble starts when the file is read by something else: a web upload form, a script, a Western-region colleague. Ask the receiver which separator they need before changing anything. Many import tools let you pick the separator, which is easier than changing your system settings.
Numbers are the other thing to watch. In a semicolon file the decimal
mark is usually a comma (1234,56). If a system expecting a
period reads that file, the value may be rejected or read as text. Fixing
the separator doesn't fix the decimal mark; check a few numeric cells
after any conversion.
Drop the semicolon file into CSV Fixer. It detects the separator and
shows you what it found. Set "Save with this separator" to Comma and
download. Fields that contain a comma are quoted automatically. It does
not change decimal commas inside numbers: 3,14 stays
3,14 (now quoted). Nothing is uploaded; it all runs in your
browser.