
You download a CSV from a German supplier, open it in Excel, and every row lands in a single column — one long unreadable line per record. Or you send a comma-separated file to a colleague in São Paulo and their Excel shows the same mess in reverse. The culprit is one of the most confusing quirks in all of spreadsheet land: the CSV comma vs semicolon divide. Depending on where in the world a computer thinks it lives, the “C” in CSV might effectively stand for a semicolon, and understanding why — and how to fix it — will save you from one of the most common data-exchange headaches in international business.
The root cause is surprisingly logical. In the United States, UK, India, Canada, and Australia, the decimal separator is a period (3.99) and the thousands separator is a comma (1,000). The comma is therefore “free” to separate list items, so CSV files use commas. But across most of continental Europe and Latin America, the decimal separator is a comma (3,99) — and you cannot use the same character to separate both decimals and fields without creating total ambiguity. So those regions use the semicolon as the list separator instead. Same concept, different punctuation, endless confusion when files cross borders — which is exactly what this CSV locale comma semicolon guide untangles.
In this guide we will unpack exactly why regions differ, show you how to detect which delimiter any CSV uses in seconds, walk through changing the Windows regional list separator setting step by step, explain the Excel list separator behavior on Mac, and give you detection tips and safe conversion workflows so comma files and semicolon files both open correctly — wherever in the world you and your data happen to be.
CSV Locale Comma Semicolon: Why Regions Differ
To understand the csv semicolon vs comma split, forget about CSV for a moment and think about how different countries write numbers. In the US, a price is written $1,234.56 — period for decimals, comma for thousands. In Germany, the same price is written 1.234,56 € — the roles are reversed: period groups thousands, comma marks decimals. France writes 1 234,56 € (with a space for thousands). This is not a quirk of a few countries; the decimal comma is used by the majority of the world’s population, spanning continental Europe, Russia, and most of Latin America and Africa.
Now imagine a German spreadsheet exporting a row containing a price of 1.234,56 and a quantity of 3, using commas as the field separator:
Artikel,Preis,Menge
Tastatur,1.234,56,3
Is that three fields or four? Is the price “1.234” with something called “56”? The file is genuinely ambiguous — no parser can resolve it without extra rules. The elegant solution adopted by these locales: use the semicolon as the list separator, leaving the comma free for decimals:
Artikel;Preis;Menge
Tastatur;1.234,56;3
Unambiguous. And this is not just a convention some programs follow — it is baked into the operating system. Windows maintains a per-locale setting called the list separator, and Excel reads it every time it opens or saves a CSV. On a US-English Windows, the list separator is a comma; on a German Windows, it is a semicolon. That single setting explains nearly every “my CSV opens in one column” complaint in international teams.

Which Countries Use Semicolons (and Which Use Commas)
As a rule of thumb: decimal-comma countries use semicolon delimiters; decimal-point countries use comma delimiters. Here is the practical map:
Semicolon-delimiter regions (decimal comma)
- Western/Central Europe: Germany, France, Spain, Italy, Netherlands, Belgium, Portugal, Austria, Switzerland
- Northern Europe: Sweden, Norway, Denmark, Finland
- Eastern Europe: Poland, Czechia, Hungary, Russia, Ukraine
- Latin America: Brazil, Argentina, Mexico, Colombia, Chile, Peru
- Other: much of Africa and the Middle East, Indonesia, Vietnam
Comma-delimiter regions (decimal point)
- English-speaking: United States, United Kingdom, Ireland, Canada, Australia, New Zealand
- Asia: India, Japan, China, South Korea, Singapore, Philippines
Reality is messier than the map — multinational companies often standardize on one convention, developers hard-code delimiters regardless of locale, and some programs (notably many web exports) always use commas. Treat the map as your prior expectation, not as a guarantee, and always verify with the detection technique below.
How to Detect a CSV’s Delimiter in 10 Seconds
Before changing any setting, confirm what you are dealing with. The reliable method takes seconds:
- Open the file in a plain text editor — Notepad on Windows, TextEdit on Mac. Do not open it in Excel yet; Excel hides the raw structure.
- Look at the first two or three lines. Find the character that appears consistently between fields on every line. It will almost always be a comma, semicolon, tab, or pipe.
- Count occurrences. In a well-formed file, every data row contains the same number of delimiters (one fewer than the number of columns). If semicolons appear 7 times per line and commas appear sporadically inside numbers, the delimiter is the semicolon.
- Check for quoting. Fields wrapped in double quotes may contain the delimiter character safely — e.g. “Smith, John” in a comma-delimited file. The true delimiter is the one outside the quotes.
Example: you open a supplier file and see Artikelnummer;Bezeichnung;Preis on the first line and 100234;USB-Kabel;12,99 on the second. Semicolons separate the fields; the comma is a decimal mark. Diagnosis complete — this is a semicolon-delimited file from a decimal-comma locale.

Changing the Windows Regional List Separator
If you regularly exchange files with a semicolon region (or vice versa), changing the system list separator makes Excel open those files correctly on double-click. Here is the exact path on Windows 10 and 11:
- Open Control Panel (search for it in the Start menu) → Clock and Region → Region.
- On the Formats tab, click Additional settings… at the bottom.
- Find the List separator field. It shows a comma on US/UK systems, a semicolon on German/French systems.
- Change it to the separator you need — semicolon to read European files, comma to read US/UK files — and click OK, then Apply.
- Restart Excel if it was open, so it picks up the new setting.
From now on, Excel will use that character when opening and saving CSV files. That second part matters: if you change your separator to semicolon and then save a CSV, Excel writes semicolons — which may surprise the next person downstream. For related delimiter troubleshooting, see our guides on CSV delimiters not working in Excel and CSVs opening in one column.

Excel List Separator Behavior on Mac
On macOS, Excel does not use a Windows-style list separator setting. Instead, it follows the macOS region configuration: System Settings → General → Language & Region → Region. Excel for Mac then uses the region’s conventional separator when opening and saving CSVs. The practical consequences:
- Switching your Mac’s region to Germany makes Excel for Mac expect semicolons; switching to US makes it expect commas.
- Unlike Windows, there is no independent “list separator” override — it is tied to the region choice.
- The most reliable cross-platform approach on Mac is Data → From Text (or Get Data) and choosing the delimiter explicitly, or converting the file with an online tool where you set the delimiter yourself.
Apple Numbers, incidentally, is more forgiving: its CSV import dialog almost always asks you to confirm the delimiter. If you are on a Mac and fighting Excel’s assumptions, opening the file in Numbers first is a legitimate quick fix.
Safe Workflows: Open Any CSV Correctly Without Changing Settings
Changing system settings is heavy-handed for a one-off file. These methods handle any delimiter with zero side effects:
- Excel: Data → From Text/CSV. Select the file; in the preview dialog, open the Delimiter dropdown and choose Comma, Semicolon, Tab, or whatever the file uses. You see the parsed result live before committing — this is the professional’s default method.
- Convert online with explicit delimiter. Upload the CSV to csvtoexcel.site/, set the source delimiter, and download a clean xlsx. No settings changed anywhere, and the file never leaves your browser.
- Google Sheets: File → Import. Sheets auto-detects delimiters remarkably well and lets you override the separator type during import.
- LibreOffice Calc. Its Text Import dialog shows a live preview with delimiter checkboxes — tick Semicolon, watch the columns snap into place.
- Power Query (Data → From Text/CSV → Transform). For recurring files from the same foreign supplier, build the import once in Power Query with the delimiter fixed; every future file refreshes with one click.

Converting a File’s Delimiter Permanently
Sometimes you need to actually rewrite the file — for example, a Brazilian supplier sends semicolon CSVs weekly, but your US-based import script demands commas. Three reliable approaches:
Method 1: Open correctly, save as CSV
Import the semicolon file properly (via Data → From Text/CSV with semicolon selected), then File → Save As → CSV UTF-8. Excel writes the file using your system’s list separator — commas on a US machine. The delimiter is converted as a side effect of the round trip.
Method 2: Find and replace in a text editor (careful!)
In Notepad++, replace semicolons with commas — but only if you are certain no field contains a literal semicolon (check quoted fields first). This is fast but risky; verify by reopening the result.
Method 3: A tiny script (safest for recurring jobs)
Python’s csv module handles quoting correctly: read with delimiter=’;’, write with delimiter=’,’. Five lines, zero ambiguity, and it respects quoted fields that a blind find-and-replace would corrupt. See our CSV to Excel with Python guide for the pattern.
Sharing CSVs Internationally Without the Pain
If you produce CSVs that cross borders, you can prevent the whole class of problems:
- Prefer xlsx for human recipients. An Excel file carries no delimiter ambiguity at all. When the recipient just needs to read and work with the data, send xlsx, not CSV.
- If you must send CSV, use commas + UTF-8 + quoting. Comma is the most universally expected default; UTF-8 handles every language; quoting text fields protects embedded commas.
- State the format in the email. One line — “semicolon-delimited, UTF-8, decimal commas” — saves the recipient the entire detective process.
- Standardize dates to ISO 8601 (yyyy-mm-dd). A German recipient and an American recipient will both read 2026-10-08 correctly; 08/10/2026 means different things to each of them.
- For machine-to-machine feeds, document the dialect. Delimiter, quoting, encoding, decimal mark, date format, header row presence — write it down once in a spec both sides follow.
Worked Example: One Invoice File, Three Locales
To make the abstract concrete, follow a single invoice export as it travels between three offices of the same company — Austin (US), Berlin (Germany), and São Paulo (Brazil).
Step 1 — Austin creates the file. The US office exports invoices from its system. On their US-English Windows, the list separator is a comma, so the file looks like this in Notepad:
invoice,customer,amount,due
INV-9001,Acme Corp,1299.99,2026-11-15
INV-9002,Beta LLC,349.50,2026-11-20
Step 2 — Berlin opens it. The Berlin colleague double-clicks the attachment. Her German Windows uses a semicolon list separator, so Excel does not recognize the commas as delimiters — every row lands in column A as one long string. She does not retype anything. Instead she closes the file, reopens it via Data > From Text/CSV, selects Comma in the delimiter dropdown, and the columns snap into place. Two minutes, zero data loss.
Step 3 — Berlin saves and forwards to São Paulo. She adds the German VAT column and saves as CSV. Because her system separator is a semicolon, Excel writes semicolons — and amounts like 1299.99 stay as-is since her system’s decimal mark is the comma… wait, no: on her German Excel, typing 1299.99 displays as 1.299,99. When she saves, the file becomes:
invoice;customer;amount;due;vat
INV-9001;Acme Corp;1.299,99;2026-11-15;246,99
INV-9002;Beta LLC;349,50;2026-11-20;66,41
Step 4 — São Paulo opens it. The Brazilian office also runs a decimal-comma locale, so the file opens perfectly on double-click. But their import script for the accounting system demands commas. The fix: they open the file in a text editor, confirm no field contains a literal semicolon, convert the delimiter with a small Python script (reading with delimiter=’;’ and writing with delimiter=’,’), and convert the decimal commas to points in the same pass since the script expects US-style numbers. The script is saved for next month — the same supplier file arrives on the same schedule.
The lesson: every border crossing in this story was resolved by knowing the delimiter, never by fighting the data. Detect in a text editor, choose explicitly at import, convert deliberately when a system demands a specific dialect.
Locale quick-reference
- United States / United Kingdom / Ireland / Canada / Australia / New Zealand / India: decimal point, comma delimiter, dates usually mm/dd/yyyy (US) or dd/mm/yyyy.
- Germany / France / Spain / Italy / Netherlands / Brazil / Argentina: decimal comma, semicolon delimiter, dates usually dd/mm/yyyy.
- Switzerland: decimal point but apostrophe thousands separator — occasionally uses semicolons in CSVs anyway; always verify.
- Japan / China: decimal point, comma delimiter — same as the US convention.
The comma-vs-semicolon divide looks like chaos, but it follows one clean rule: the delimiter is whatever character the locale does not use for decimals. Detect the delimiter in a text editor, choose it explicitly at import, and files from Berlin to São Paulo to Mumbai will all open exactly as their senders intended. And when a stubborn file still resists, join the discussion in our community forum — delimiter puzzles are our favorite kind.


Frequently Asked Questions
Why does my CSV use semicolons instead of commas?
Your system or the exporting program uses a locale where the comma is the decimal separator — common across continental Europe (Germany, France, Spain) and Latin America (Brazil, Argentina). To avoid ambiguity between decimal commas and field separators, the list separator becomes the semicolon. This is controlled by Windows regional settings, which Excel follows.
How do I change the CSV separator in Excel?
Excel follows the Windows list separator: Control Panel → Clock and Region → Region → Additional settings → List separator. Change it and restart Excel. For a one-off file it is safer to import via Data → From Text/CSV and choose the delimiter manually, without touching system settings.
Which countries use semicolon as the CSV delimiter?
Most of continental Europe (Germany, France, Spain, Italy, Netherlands), Scandinavia, Eastern Europe, Russia, and much of Latin America including Brazil, Argentina, and Mexico — essentially the decimal-comma countries. The US, UK, Ireland, Canada, Australia, New Zealand, and India use commas.
How can I tell which delimiter a CSV file uses?
Open it in a plain text editor like Notepad and look at the raw lines. The character appearing consistently between fields on every line — usually a comma, semicolon, tab, or pipe — is the delimiter. Ignore characters inside quoted fields.
Will changing my list separator break other programs?
It can affect any program that reads the system list separator, including some accounting and database tools, and it changes the delimiter Excel uses when saving CSVs. For a single file, convert the delimiter in the file itself or import with an explicit delimiter choice instead.
What delimiter should I use when sharing CSVs internationally?
Use commas with UTF-8 encoding and quote all text fields — comma is the most universally expected default. State the format in your message (“comma-delimited, UTF-8”), standardize dates to yyyy-mm-dd, and consider sending xlsx instead when the recipient just needs to read the data.