CSVCheck

CSV opens in one column in Excel: comma vs semicolon

Updated October 17, 2026

You open a CSV in Excel and every row lands in column A, like id,name,email squeezed into one cell. Or a colleague in Germany, France or Denmark sends you a “CSV” where the values are separated by semicolons, and your importer chokes on it.

Short answer: Excel doesn’t always use a comma. It uses your computer’s list separator, which is a semicolon in most of continental Europe and Latin America. To open any CSV correctly, import it with Data → From Text/CSV and pick the delimiter. To exchange files, agree on one delimiter and tell the receiving tool which one it is.

Why Excel uses semicolons in some countries

In regions where the comma is the decimal separator (12,50 instead of 12.50), a comma can’t also separate columns without confusion. So Windows sets the list separator to a semicolon there, and Excel follows it both when it opens a .csv file and when it saves one. The result:

  • A comma CSV opened on a European machine ends up in one column.
  • A semicolon CSV saved on a European machine ends up in one column on a US or UK machine.
  • Systems and APIs that expect commas reject the file, or read every row as a single field. In pandas or a database import, that shows up as one giant column or as “Expected N fields, saw M” errors.

Open a CSV with any delimiter in Excel

  1. Open a blank workbook, then Data → From Text/CSV and pick the file.
  2. In the preview, set Delimiter to Comma, Semicolon or whatever the file uses. Excel usually detects it here, which it doesn’t do when you double-click the file.
  3. Click Load (or Transform Data if you also need to keep leading zeros).

Already opened it and everything is in column A? Select the column, then Data → Text to Columns → Delimited, and choose the separator.

Save a CSV with the delimiter you need

  • Google Sheets always exports with commas (File → Download → Comma-separated values), whatever your locale. It’s the simplest way to get a comma CSV on a European machine.
  • LibreOffice Calc asks for the field delimiter every time you save as CSV (tick Edit filter settings).
  • Excel on Windows uses the system list separator. You can change it in Control Panel → Region → Additional settings… → List separator, but this affects every program on the computer, and if your decimal separator is a comma you’ll have to change that too. Changing it just for one export and back again works, but it’s easy to forget.

The “sep=” trick

Adding this as the very first line of a CSV makes Excel use that delimiter when the file is opened:

sep=;
id;name;amount
1;Søren;12,50

It only works in Excel. Every other tool sees sep=; as a row of data, so only use it for files that will only ever be opened in Excel.

Reading semicolon files in code

# pandas: semicolons and decimal commas
pd.read_csv("data.csv", sep=";", decimal=",")

-- PostgreSQL
COPY products FROM '/path/data.csv' WITH (FORMAT csv, HEADER true, DELIMITER ';');

Watch the numbers too: a semicolon file from Europe usually has decimal commas (1.234,50), which a parser expecting 1,234.50 reads as text or as the wrong value.

Which delimiter does my file use?

Open it in a text editor and look at the first line, or drop it into CSVCheck: it detects comma, semicolon, tab and pipe automatically, shows you how the rows split, and flags rows that don’t have the expected number of columns. It runs in your browser.

More CSV guides