Why Excel Puts Your Whole CSV in One Column
Published
Excel puts your whole CSV in one column when the file's separator is a semicolon and Excel is expecting a comma, or the other way round. Every row lands in column A as one long string, with the separators still visible inside it. The data is intact; Excel has only failed to split it.
Why does Excel put the whole CSV in one column?
Excel puts the whole CSV in one column because, when you double-click a .csv file, Excel splits each line only on the list separator set in your operating system's regional settings, and the file uses a different character. A CSV saved on a computer set to French, German, Spanish or Italian usually uses ;, because those regions write decimals with a comma (19,90). A CSV from a US or UK system, or from most web apps and APIs, uses ,. When the two do not match, Excel finds no separator on the line and keeps it whole.
A CSV file does not record which separator it uses. The name says comma-separated, but nothing in the file format stops a program from writing semicolons, tabs or pipes instead, and many do.
What does a CSV in one column look like?
A semicolon-separated CSV opened in an Excel that expects commas looks like this: four columns of data squeezed into column A.
| A | |
|---|---|
| 1 | Date;Product;Quantity;Price |
| 2 | 03/04/2026;Desk lamp;2;19,90 |
| 3 | 15/04/2026;Office chair;1;149,00 |
The same CSV split on the right separator gives four columns. These are the cells AnyToExcel writes for that file, with the type it detects for each column:
| Date (date) | Product (text) | Quantity (number) | Price (number) |
|---|---|---|---|
| 2026-04-03 | Desk lamp | 2 | 19.90 |
| 2026-04-15 | Office chair | 1 | 149.00 |
In the converted file, 19,90 is the number 19.9, not the text "19,90", so the Price column can be summed. 03/04/2026 is read day-first, as 3 April 2026; the article on why Excel changes dates in a CSV explains when day-first is the wrong guess.
Which separators do CSV files use?
CSV files use four separators in practice: comma, semicolon, tab and pipe. Which one you get depends on the program and the regional settings of the computer that wrote the file.
| Separator | Where it usually comes from | Excel set to comma | Excel set to semicolon |
|---|---|---|---|
, comma | US and UK systems, most web apps, APIs and databases | Splits into columns | Whole row in column A |
; semicolon | Excel and other programs on French, German, Spanish, Italian and other comma-decimal systems | Whole row in column A | Splits into columns |
| Tab | Rows copied out of a spreadsheet, .tsv exports | Use Data → From Text/CSV | Use Data → From Text/CSV |
| pipe | Bank, accounting and legacy system exports | Use Data → From Text/CSV | Use Data → From Text/CSV |
How do I fix a CSV in one column in Excel?
To fix a CSV in one column in Excel, import the file instead of opening it: go to Data → From Text/CSV, select the file, choose the right character in the Delimiter list, and click Load. Excel previews the split before loading it, so you can check the columns line up.
- Open a blank workbook in Excel.
- On the Data tab, click From Text/CSV (in the Get & Transform Data group).
- Select the CSV file and click Import.
- In the preview window, set Delimiter to the character the file uses: Comma, Semicolon, Tab, or Custom for a pipe.
- Check File Origin if accented letters look wrong; for most modern files choose 65001: Unicode (UTF-8).
- Click Load.
Excel on Windows also reads a first line of sep=; (or sep=,) as an instruction for which separator to use when the CSV is opened by double-click. Adding that line works when you control the file, but other programs will read sep=; as a row of data, so it is not a fix for a file you send onwards.
Should I change my computer's list separator?
Changing your computer's list separator fixes CSV files from one source and breaks CSV files from the other, so it is only worth doing if every CSV you open uses the same separator. On Windows the setting is in Control Panel → Region → Additional settings → List separator. The change also affects how Excel writes formulas in some regions, such as whether function arguments are separated by , or ;.
How do I convert a CSV with any separator in one step?
To convert a CSV with any separator in one step, upload it to the CSV to Excel converter: AnyToExcel detects the separator from the file and returns an .xlsx that opens already split into columns, whatever your regional settings are. An .xlsx file stores each cell separately, so there is no separator for Excel to guess.
The AnyToExcel separator detection reads the first 5 non-blank lines of the CSV and tries comma, semicolon, tab and pipe. It keeps the separator that splits every one of those lines into the same number of columns, and if several do, the one that produces the most columns. A separator inside a quoted cell, such as the comma in "Acme, Ltd", is not counted. If no separator splits all 5 lines evenly, the one that appears on the most lines is used.
- Accepted files: .csv, .tsv and .txt, up to 5 MB.
- No account is needed. Without signing in, a connection can convert up to 20 files per hour.
- The file is converted in memory and the .xlsx is returned in the same response. The CSV is not stored.
When does automatic CSV separator detection get it wrong?
Automatic CSV separator detection in AnyToExcel can get it wrong when the first 5 lines of the file are not data, for example a report title, a date line and a blank-looking line of commas above the real header. Those lines decide the separator. Remove them before uploading if the result has one column.
- No manual override for uploaded files. The upload takes no separator setting. The paste box on the home page does let you pick comma, semicolon, tab or pipe when its preview splits pasted rows wrongly.
- UTF-8 only. The CSV is read as UTF-8. A file saved with Excel's "CSV (Comma delimited)" option on Windows uses the system's older code page, and its accented letters arrive as
�. Save it as "CSV UTF-8 (Comma delimited)" instead. - Rows with extra fields are dropped. A row with more fields than the header is skipped and named in a warning. A row with fewer fields is padded with empty cells.
- Unclosed quotes skip a line. A line that opens a quote and never closes it is skipped with a warning, and the rest of the file still converts.