Guide
Why Your CSV Opens in One Column in Excel
Published
You double-click a CSV and every row lands in column A, semicolons and all: Müller;Berlin;12,50 sitting in one cell instead of three. Nothing is wrong with the file. Excel split it on a character that is not in it.
What Excel Is Actually Doing
When you open a .csv file by double-clicking it, Excel does not inspect the file to work out the separator. It uses the List separator from your Windows regional settings. Microsoft states this plainly: “Changing the List separator in the Windows Region settings will affect the delimiter used when opening or saving a Comma-separated value (.csv) file as Excel utilizes the Windows list separator character for the delimiter in .csv files.”
The setting follows your locale, and it exists because of the decimal separator. In Germany, France, Spain, Brazil and many other places 12,50 means twelve and a half, so a comma cannot also separate fields; Windows uses a semicolon there, and a comma in period-decimal locales such as the US and the UK. The single column is therefore a mismatch, not corruption: Excel found nothing to split on and put the whole line in the first cell.
First, Find Out What Your File Really Uses
Look at the raw text first. Right-click the file, open it with Notepad on Windows or TextEdit on a Mac, and read the header line. You will see one of four characters between the column names:
| Header line looks like | Delimiter | Common source |
|---|---|---|
name,city,total | Comma | Most web apps and APIs, US and UK exports |
name;city;total | Semicolon | Excel saved in a comma-decimal locale, many EU systems |
name city total with wide gaps | Tab | Database dumps, analytics exports, some ERPs |
name|city|total | Pipe | Banking, telecoms, mainframe extracts |
If the file is too large for Notepad, print the first lines from a terminal: Get-Content file.csv -TotalCount 5 in PowerShell, or head -n 5 file.csv on macOS and Linux. You can also drop the file into our CSV encoding and delimiter tool, which reads the start of the file and shows you the delimiter and encoding it detected, however big the file is. Nothing is uploaded; detection runs in your browser.
The Four Fixes, Best First
1. Re-save the File with the Delimiter Excel Expects
This is the fix that leaves no traces: convert the file once and it opens correctly by double-click from then on, for you and for anyone with the same regional settings. Our delimiter and encoding converter switches between comma, semicolon, tab and pipe, and quotes any value that contains the new delimiter so nothing shifts into the wrong column: a price written 1,50 in a semicolon file becomes "1,50" in the comma version, as RFC 4180 prescribes. The same pass writes UTF-8 with a byte order mark, which fixes the other classic complaint — accented letters arriving as é. See UTF-8, UTF-16 and Windows-1252 for that side of the story.
2. Import It and Choose the Delimiter Yourself
Excel reads any delimiter if you ask it through the import route instead of opening the file:
- Open a blank workbook and go to Data › From Text/CSV, in the Get & Transform Data group. If there is no Get Data button on your version, Microsoft says to use New Query › From File instead.
- Pick the file. In the preview, set the Delimiter dropdown to the character your file uses. The list covers comma, semicolon, tab, space, colon, equals sign, a custom delimiter you type, and fixed width.
- Check File Origin as well if the preview shows odd characters, then click Load.
Because this route also decides the type of every column, it is the moment to protect identifiers. Use the Data Type Detection dropdown to turn detection off, so that every column defaults to Text, or click Transform Data and set just the relevant columns to Text. Either way order numbers and ZIP codes keep their leading zeros. Converting a CSV to Excel without breaking your data covers that in detail.
There is an older route too. Microsoft documents it: “To force Excel to run the Import Text Wizard, you can change the file name extension from .csv to .txt before you open it.” In Microsoft 365 that wizard is a legacy feature you enable at File › Options › Data › Show legacy data import wizards.
3. Add a sep= Line — Useful, But Know What It Breaks
Excel honours a first line of the form sep=; and splits the rest of the file on that character whatever your regional settings say. For a file you email to colleagues in several countries it works well. Two honest caveats, though. Microsoft does not document the behaviour anywhere we can find, so it is convention rather than a promise. And the line is not part of any CSV standard, so a program that is not Excel has no reason to understand it: import tools, databases and scripts will read it as the header row, which turns your real header into a data row. Test a file with a sep= line against its destination before you send a batch, and use the trick only for files a person will open in Excel.
4. Change the Windows List Separator — The Worst Option
You can open intl.cpl, or find Region in Control Panel, and — as Microsoft describes it — the list separator “is specified in the Additional settings”. Microsoft’s own warning is why this comes last: “Changing the Windows setting will cause a global change on your computer, affecting all applications.” Every CSV Excel saves then uses the new separator too, so you start sending files that break for other people, and formula argument separators follow the setting, so =SUM(A1,B1) may stop being accepted. Fix the file, not the computer.
The Reverse Case: A Semicolon File in a US Excel
A colleague in Germany saves a workbook as CSV, Excel writes semicolons, and on a US or UK machine the file opens in one column. The fixes are the same, mirrored: convert the file to commas, or import it and set the delimiter to semicolon.
There is a second trap in that direction. If the German file also uses decimal commas, converting it to a comma-delimited file quotes those values — "12,50" — which is correct CSV but still arrives in a US Excel as text, not a number. Change the decimal separator in the source export rather than in Excel.
Tab and Pipe Files
Tab-separated files usually arrive as .txt or .tsv; pipe-delimited files are common in banking and telecoms extracts. Neither matches a list separator on any normal machine. Both open cleanly through Data › From Text/CSV with the delimiter set by hand, and both can be converted to comma or semicolon in one pass.
When Values Contain the Other Delimiter
A correctly written CSV may contain its own delimiter inside a value, as long as the value is wrapped in double quotes: Smith,"Berlin, DE",12.50 is three fields, not four. Excel and every standards-compliant reader handle that, and so does our converter, which re-quotes values for the new delimiter as it writes them.
What no tool can rescue is a file where the quoting is missing — an export that wrote Smith,Berlin, DE,12.50. Where the field boundaries were is simply not recorded. You see it as rows with more columns than the header, and the only real fix is to re-run the export with quoting enabled.
On a Mac
Excel for Mac has no List separator setting of its own to change, and macOS has no equivalent of the Windows one, so fix 4 does not exist here — which leaves fixes 1, 2 and 3. The separator Excel expects follows your Mac’s Language & Region settings: in practice a region with a period decimal separator gets a comma, and a region with a comma decimal separator gets a semicolon. We state that as observed behaviour, because neither Microsoft nor Apple documents the rule. For the import route use Data › Get Data (Power Query) › Text/CSV, which Microsoft documents for Microsoft 365 subscribers on Excel for Mac version 16.69 (23010700) or later, or the older Data › From Text (Legacy).
Before You Start Editing in Excel
Once the file is in columns it is tempting to finish the job in Excel and save it back as CSV. That writes Excel’s interpretation of every value into the file, which is how ZIP codes lose their zeros and long IDs turn into 4.53E+15 — see stop Excel removing leading zeros and stop Excel turning long numbers into 4.5E+15. If the job is only to split, merge or deduplicate, the splitter, merge tool and duplicate remover copy each row as text and never touch the values; they write CSV only, and make no .xlsx files. If the file is too big for a worksheet, opening a CSV that is too large for Excel covers the alternatives.