Json To Csv LogoJson To Csv

Why Your CSV Opens in One Column in Excel, and How to Fix It (2026 Guide)

A CSV that opens in one column is not broken. Excel split it on a different delimiter than the one the file was written with, usually because your system list separator is a semicolon while the file uses commas, or the other way round. The fix takes under a minute once you know which delimiter the file actually uses, and this guide shows the diagnosis, three fixes, and how to export it right next time.

Updated: 2026-10-2811 min read

Diagnose it in 30 seconds: find the real delimiter

Before you fix anything, find out which character your file actually uses, because every fix below depends on that one fact. Do not guess from the file extension. A file called data.csv can use commas, semicolons, tabs, or pipes, and Excel cannot tell you which one by looking at the name. Open the file in a plain text editor, Notepad on Windows or TextEdit in plain-text mode on a Mac, and look at the first two lines. The character that repeats the same number of times on every line, between the values, is the delimiter. If you see name,city,note,tags on the first line and Ana,Lima,ships fast,sale on the second, the delimiter is a comma. If you see name;city;note;tags, it is a semicolon. If the values are separated by wide gaps with no visible character, it is a tab.

Count the repeats, because that count is the test. A healthy delimited file has the same number of delimiters on every row: three delimiters per row means four columns, on every row. If one row has fewer, that row has a quoted value hiding a delimiter inside it, which is normal and correct, or the row is genuinely ragged, which is a data problem, not an Excel problem. The other quick check is the quoted whole line. If each line in the text editor starts and ends with a quote mark and the whole row sits inside one pair of quotes, like "Ana,Lima,ships fast,sale", the file was written with an extra layer of quoting, and no delimiter choice will split it until that quoting is removed. That case has its own fix later in this guide.

Write down what you found before moving on: the delimiter character, and whether the first row is a header row. Those two facts decide everything that follows. A comma file on a comma system opens fine on double-click. A comma file on a semicolon system opens in one column. A semicolon file on a comma system does exactly the same thing in reverse. Once you know the delimiter, the fix is mechanical, and you will never need to reformat cells by hand or split values with formulas.

Why Excel does this: the list separator, not the file

Excel does not read a CSV the way a text editor does. When you double-click a CSV file, Excel does not ask which delimiter the file uses. It splits each row on your system list separator, a setting that comes from your operating system region, and it does not check whether that guess was right. In the United States and other regions where the decimal separator is a point, the list separator is usually a comma, so a comma file opens correctly and a semicolon file collapses into one column. In much of Europe and Latin America, where the decimal separator is a comma, the list separator is usually a semicolon, because a comma cannot separate columns in a region where it already means a decimal point. There, a semicolon file opens correctly and a comma file collapses into one column.

This is why the same file can work on one computer and fail on another, and why a file a colleague sent you opens in one column while it opened fine for them. Neither computer is broken and the file is not corrupt. The two machines simply disagree about which character separates columns, and Excel on each machine trusts its own setting without asking. It is also why converting JSON to CSV can produce this symptom even when the conversion itself was perfect. A converter that writes commas will produce a file that opens in one column on a semicolon system, and a converter that writes semicolons will do the reverse on a comma system. The conversion was correct. The opening was mismatched.

Understanding this also tells you what not to do. Do not reformat the single column, do not split values with formulas, and do not save the file from Excel and hope the problem goes away, because saving a one-column file writes the one-column layout back to disk and can destroy the original delimiters. Fix the split, not the cells. The three fixes below all fix the split, in order from the one you should try first to the one that changes your system.

Fix 1: import the file and pick the delimiter

This is the fix to try first, because it changes nothing about your system and works on any file, whatever its delimiter. Instead of double-clicking the file, open Excel first, then import the file through the guided import, where you choose the delimiter yourself. The preview in the import dialog shows you immediately whether you picked right: the columns split in the preview exactly as they will on the sheet.

  • In Excel, go to Data, then From Text/CSV, and select your file.
  • In the preview dialog, set the delimiter to the character you found in the text editor: comma, semicolon, tab, or pipe.
  • Check the preview. If the columns split correctly, continue. If they are still one column, you picked the wrong delimiter, so try the next candidate.
  • Set the file origin to 65001: Unicode (UTF-8) if accented characters look wrong, then Load.
  • For columns that must stay as text, like codes with leading zeros, set those columns to Text in the import step, before loading. Fixing the format after loading cannot recover zeros Excel already dropped.

The import route has one more advantage over double-clicking: it lets you see the result before committing to it. If the preview shows one column, you have not changed anything yet, and you can try another delimiter. If the preview shows the right columns, you load with confidence. Make this your default way of opening CSV files, not just your rescue move. Double-clicking is a guess. Importing is a choice, and the choice takes about ten seconds longer.

Google Sheets handles this differently and usually better. When you import a CSV into Sheets through File, then Import, Sheets detects the delimiter automatically in most cases and asks you to confirm it, so the one-column problem is rarer there. If Sheets does guess wrong, the same fix applies: choose the delimiter in the import dialog instead of accepting the automatic guess.

Fix 2: split a column you already opened with Text to Columns

If you already double-clicked the file and everything is sitting in column A, you do not need to close it and start over. Excel can split that single column in place, and the tool for it is Text to Columns. This fix works on the data already on the sheet, so it is the fastest rescue when the file is already open, but it has one limit to respect: it overwrites the cells to the right of the column you split, so make sure those cells are empty or copy the single column to a fresh sheet first.

  • Select the single column that holds all the data, usually column A.
  • Go to Data, then Text to Columns.
  • Choose Delimited, then Next.
  • Tick the delimiter you found in the text editor, comma, semicolon, tab, or another character, and untick the rest, then Next.
  • Check the preview. If the columns split correctly, choose Text as the format for any code columns, then Finish.

The preview is the same safety net as in Fix 1. If the preview still shows one column, the delimiter you ticked is not the one in the file, so go back a step and try another. If the preview shows the right columns but one column still looks wrong, check for the quoted whole line problem: a row wrapped in a single pair of quotes will not split on any delimiter, because Excel treats the quoted content as one value. That case is covered in the other-causes section below.

Text to Columns is a one-time fix for one file. It does not change how the next file opens, and it does not change the file on disk until you save. If you save from Excel after splitting, save as a spreadsheet, not back to CSV, unless you want Excel to rewrite the delimiters with its own list separator, which can reintroduce the same mismatch for the next person who opens it.

Fix 3: change the list separator so double-clicking works

If you receive files with the same mismatched delimiter every week, fixing each file individually gets old, and the durable fix is to make your system list separator match the files you receive. On Windows, this is a system setting, not an Excel setting, and changing it affects every program that uses the list separator, which is why it is Fix 3, not Fix 1. Change it deliberately, knowing what it affects, and only when most of your files use the other delimiter.

  • On Windows, open Settings, then Time and Language, then Language and Region, then Additional date, time, and regional settings, then Region, then Additional Settings.
  • Find the List separator field and set it to the delimiter your files use: a comma or a semicolon.
  • Apply, close Excel completely, reopen it, and double-click a test file to confirm the columns split.

Two cautions before you change this. First, other programs use the list separator too, so a program that used to export semicolon files for you may start exporting comma files, or the other way round. If you share files with colleagues, tell them you changed it, because their systems did not change. Second, on a Mac there is no single equivalent toggle that behaves the same way in Excel, so the import route in Fix 1 is the reliable fix there, not a settings hunt. When in doubt, import the file. A ten-second import beats a system change you have to explain to every program on the machine.

There is also a per-file trick that avoids changing any setting: put sep=; as the very first line of the file, followed by the header row, and Excel will use a semicolon for that file even on a comma system. The same works with sep=, on a semicolon system. It is a real Excel behavior, not a standard, so other tools may show the sep= line as a data row. Use it only for files you know will be opened in Excel, and prefer the import route for files that travel between tools.

Fix it at the source: export with the delimiter Excel expects

All three fixes above repair a file someone else made. If you are the one producing the file, the cleanest fix is to export it with the delimiter your audience Excel expects, so nobody has to fix anything. The converter on this page lets you choose the delimiter before you download: comma, semicolon, tab, or pipe, from the delimiter menu above the output. Pick the one that matches the system the file will be opened on, and the double-click problem never happens. If the file goes to people on both kinds of systems, comma is the safer default, because the import route can fix it anywhere, and because most tools outside Excel assume commas.

The same file converted with two delimiters shows why the choice matters, and why quoting is not something you need to manage by hand. The converter was run on the same two-row sample twice, once with a comma and once with a semicolon, and the outputs below are the exact bytes it produced. Notice that each output quotes exactly the cells that need quoting for its own delimiter, and nothing else.

Same data, comma delimiter vs semicolon delimiter
Comma output:
name,city,note,tags
Ana,Lima,"ships, fast",new; vip
Ben,Oslo,ships fast,sale

Semicolon output:
name;city;note;tags
Ana;Lima;ships, fast;"new; vip"
Ben;Oslo;ships fast;sale

Read those two outputs carefully, because they show the quoting rule in action. With a comma delimiter, the cell ships, fast is quoted, because it contains a comma, while new; vip is left bare, because a semicolon is harmless when the delimiter is a comma. With a semicolon delimiter, the reverse happens: ships, fast is left bare, and new; vip is quoted, because it contains a semicolon. The converter applies this rule automatically, and the tab and pipe outputs from the same run left both cells bare, because neither cell contains a tab or a pipe. You do not need to quote anything yourself. You only need to pick the delimiter, and the quoting follows.

If you export from a script instead, pick the delimiter explicitly there too. In Python, the csv writer takes a delimiter argument, and pandas to_csv takes a sep argument, so a semicolon export is one argument, not a find-and-replace on the output. Never change a delimiter by replacing characters in the finished file, because a replace cannot tell a delimiter comma from a comma inside a quoted value, and it will corrupt exactly the cells that quoting was protecting.

Three other causes that look like a delimiter problem

Not every one-column file is a delimiter mismatch. Three other causes produce the same symptom, and each has a different fix, so check these before concluding the delimiter is wrong. The first is the quoted whole line, already mentioned in the diagnosis section: each row wrapped in a single pair of quotes. This happens when a tool quotes the entire row instead of quoting individual cells, and Excel correctly treats the quoted content as one value. The fix is at the source: re-export the file with correct per-cell quoting, or strip the outer quotes in a text editor if the rows contain no commas inside values, and then import normally.

The second is a file that has no delimiter at all, because it is not really a CSV file. A JSON array pasted into a text file and saved with a .csv extension, or a fixed-width export where columns are aligned with spaces, will open in one column on any delimiter choice, because there is nothing to split on. The diagnosis is visible in the text editor: if the first line has no repeating separator character, the file is not delimited, and no import setting will fix it. Convert the source properly instead, for example by converting the JSON to CSV first, then opening the result.

The third is encoding masquerading as a delimiter problem. If the file opens in one column and the characters look wrong at the same time, with accented letters replaced by strange symbols, the delimiter may be right and the encoding wrong. Set the file origin to 65001: Unicode (UTF-8) in the import dialog, as in Fix 1, and check whether the columns and the characters both come right. The converter on this page downloads plain UTF-8 without a byte-order mark, so if you re-import its output at 65001 the characters will read correctly, and the only remaining question is the delimiter.

Prevention checklist for the next file

The one-column problem is a mismatch between writer and reader, so prevention means making the writer and the reader agree before the file travels. Run through this checklist when you produce a CSV, and the next person who opens it will not need this guide. First, know your audience system: comma for the United States and comma-decimal regions, semicolon for comma-decimal regions. Second, set the delimiter explicitly at export time, in the converter menu or in your script argument, instead of accepting a default you have not checked. Third, open the exported file in a text editor and confirm the first line shows the delimiter you intended, with the same count on every row.

Fourth, if the file travels to people on both kinds of systems, send it with a note naming the delimiter, or send it as a spreadsheet instead of a CSV, because a spreadsheet carries its column structure with it and cannot be mis-split. Fifth, never save a rescued file back to CSV from Excel without checking what delimiter Excel used, because Excel writes with the system list separator, which may be the wrong one for the next reader. And sixth, keep the original source file. A CSV is a flattened snapshot, not the data itself, so if a rescue goes wrong, the source lets you export again cleanly instead of repairing a damaged copy.

Related guides

Frequently asked questions

Why does my CSV open in one column in Excel?

Because Excel split it on your system list separator instead of the delimiter the file uses. If your system expects semicolons and the file uses commas, or your system expects commas and the file uses semicolons, every row lands in a single cell. Import the file and pick the matching delimiter, and the columns appear. The data was never broken.

How do I find which delimiter my CSV file uses?

Open it in a plain text editor and look at the first two lines. The character that repeats the same number of times on every line between the values is the delimiter: a comma, a semicolon, a tab shown as wide gaps, or a pipe. A file can be called .csv and still use any of these, so the extension tells you nothing.

What is the fastest fix for a CSV already open in one column?

Select the single column, go to Data, then Text to Columns, choose Delimited, tick the delimiter the file uses, and Finish. Make sure the cells to the right are empty first, because the split overwrites them. For a file you have not opened yet, use Data, then From Text/CSV instead, so you can check the preview before loading.

Should I change my Windows list separator to fix this?

Only if you receive files with the same mismatched delimiter every week. Changing the list separator makes double-clicking work for those files, but it affects every program that uses the setting, and colleagues on unchanged systems will still see the mismatch. For occasional files, importing with the right delimiter is the safer fix.

Why does the same CSV open fine on my colleague computer but not on mine?

Because your two systems have different list separators. One expects commas and the other expects semicolons, usually because of different region settings and decimal separators. The file is identical on both machines. Excel on each machine trusts its own setting, so the same file splits correctly on one and collapses on the other.

How do I export a CSV so it opens correctly in Excel?

Export it with the delimiter the receiving Excel expects: comma for comma-decimal regions, semicolon for comma-decimal regions. On this page, pick the delimiter from the menu before downloading. In a script, set the delimiter argument explicitly instead of replacing characters in the finished file, which corrupts quoted values.

What if my CSV is in one column even after picking the right delimiter?

Then the cause is not the delimiter. Check for a quoted whole line, where each row sits inside one pair of quotes, or a file that has no delimiter at all, like JSON saved with a .csv extension. Also check the encoding: set the file origin to 65001: Unicode (UTF-8) in the import dialog if accented characters look wrong at the same time.

Convert it with the right delimiter from the start

Paste your JSON into the converter on this page, pick the delimiter your Excel expects from the menu, comma, semicolon, tab, or pipe, and download a file that opens in proper columns. No upload, no sign-up, nothing leaves your browser tab.

Open the JSON to CSV converter
All guides