🧹 Data Prep · 7 min read
How to Change a CSV Delimiter: Semicolon to Comma and Back (2026)
If a CSV opens as one long column in Excel, the file uses a different delimiter than your Excel expects, usually semicolons from a European locale. The clean fix never touches the file itself: in Excel, go to Data > From Text/CSV and pick the delimiter in the import dialog. Google Sheets has the same option at import, LibreOffice asks on open, and the terminal handles one-off conversions in seconds. Do not do a blanket find-and-replace of commas, because quoted fields and decimal commas survive that badly.
Why Some CSVs Use Semicolons Instead of Commas
The separator is not a file property, it is a regional setting. Excel writes CSV files using the list separator from your operating system's region settings, and Microsoft documents that behavior. In the United States and the UK, that separator is a comma. In Germany, France, Spain, Italy, and much of Europe and South America, the decimal point belongs to numbers written as 1.234,56, so the region swaps the list separator to a semicolon.
The result is a file that is perfectly valid in Berlin and looks broken in Boston. A colleague in Munich exports their CRM data and you open it in a US-configured Excel, and every row lands in column A.
Method 1: Excel's Import Wizard (Safest)
Excel 2016 and Microsoft 365 ship with a proper CSV importer that does not mangle the file:
- Open Excel and go to Data > From Text/CSV.
- Pick your file. A preview pane appears.
- In File Origin, choose 65001: UTF-8 when the file shows mojibake.
- In Delimiter, select Semicolon, Comma, Tab, or Custom and type your own.
- The preview updates instantly. When columns line up, click Load.
The same dialog fixes the encoding problem at the same time, so if you have seen garbled characters, the fix for garbled CSV in Excel guide uses this exact wizard.
Method 2: Google Sheets
Google Sheets detects the delimiter when you import, and lets you override it:
- Open sheets.google.com and go to File > Import > Upload.
- Select the CSV. In the import dialog, open Separator type.
- Pick Custom and type
;, or let it auto-detect. - Choose where the data goes and click Import data.
For text already pasted into a sheet, select the column and use Data > Split text to columns, then choose Custom and enter ;.
Method 3: LibreOffice Calc
LibreOffice opens a Text Import dialog whenever you open a CSV, which is its quiet advantage over Excel. In that dialog:
- Under Separator options, tick the delimiter your file uses, for example Semicolon.
- Tick Merge delimiters if empty fields collapse in your preview.
- Check the preview at the bottom, then click OK.
The dialog also offers a text qualifier setting for files where fields contain the delimiter inside quotes.
Method 4: The Terminal or a Script
For a one-off conversion where the file has no quoted fields containing semicolons, sed does the job:
# semicolons to commas, only safe when no field contains a semicolon or comma inside quotes
sed 's/;/,/g' customers.csv > customers_fixed.csvFor files with quoted fields, Python's csv module parses the real structure and rewrites it correctly:
import csv
with open("customers.csv", newline="", encoding="utf-8") as f:
rows = list(csv.reader(f, delimiter=";"))
with open("customers_fixed.csv", "w", newline="", encoding="utf-8") as f:
csv.writer(f).writerows(rows)The same two lines work for any delimiter pair, including tab to comma, which our TSV to CSV guide covers in detail.
When NOT to Blindly Replace
A global replace of ; with , corrupts files in two situations.
The first is quoted fields. If a column contains text like "Paris; Texas", the semicolon inside quotes is data, not a separator, and sed will happily split the field in half.
The second is decimal commas. A German price column stores 3,50 as one value, so a file with Müller;3,50 becomes Müller,3,50 after replacement, which a US Excel reads as three columns instead of two. If your numeric columns use comma decimals, convert them to dots in the same pass, or use the import wizard, which treats the original file as a single format and never confuses the two.
Method Comparison
| Method | Best when | Risk of corrupting data | Skills needed |
|---|---|---|---|
| Excel import wizard | You use Excel and want a clean load | Low | None |
| Google Sheets import | You work in the browser | Low | None |
| LibreOffice | Desktop, no Microsoft products | Low | None |
| sed replace | Simple files, one-off conversion | High with quotes or decimal commas | Command line |
| Python csv | Quoted fields, repeated conversions | Low | Scripting |
Frequently Asked Questions
Why does my CSV open with semicolons instead of commas?
The file was written on a system whose regional list separator is a semicolon, common in Germany, France, Spain, Italy, and other locales where the decimal mark is a comma. Excel follows the operating system's region settings when it writes CSVs, per Microsoft's documentation.
How do I change the delimiter in Excel without losing data?
Use Data > From Text/CSV and select the delimiter in the import dialog. Do not open the file by double-clicking, which applies regional defaults and can drop leading zeros or mangle dates before you see the data.
How do I change a semicolon-delimited CSV to comma in Notepad?
A find-and-replace of ; to , works only when no field contains a semicolon or comma inside quotes and no column uses comma decimals. Otherwise use Excel's import wizard, LibreOffice, or a Python one-liner that understands quoting.
Why is my CSV all in one column in Excel?
The delimiter Excel assumed does not match the file. Open it through Data > From Text/CSV, preview with Semicolon or Custom as the delimiter, and the columns will split correctly.
Does changing the delimiter break numbers with decimal commas?
It can. In locales that write 3,50, a blanket replace turns one value into two columns once the file is comma-delimited. Convert decimal commas to dots in the same pass, or import with a wizard that reads the file in its original format.
What delimiter should my CSV use?
Comma is the default defined by RFC 4180 and what most tools expect. Semicolon and tab exist because of regional settings and embedded commas in data. If your data contains commas inside fields, tab (TSV) is the safer choice.
Google Sheets imports my CSV as one column. What now?
Re-import through File > Import and set Separator type to Custom with the correct character, or paste the data and use Data > Split text to columns with a custom separator. Sheets also auto-detects most delimiters if the file has no encoding issues.
Tools mentioned in this guide
Want to go further with AI-powered data work? These tools pair well with NoCodeCSV:
- Stack AI — if semicolon files arrive from European partners on a schedule, an AI workflow can normalize delimiter and encoding at ingest, before the data ever lands in your warehouse. Try Stack AI
- Softr — after the delimiter fix, load the cleaned CSV into Airtable or Sheets and Softr gives partners a portal to view it, so emailed files and their quirks stop circulating entirely. Try Softr
- Toggl Track — "fix the delimiter" Fridays are a recurring time sink that never makes it onto a timesheet; measure it once and the automation case becomes obvious. Try Toggl
Some links above are affiliate links — if you buy through them we may earn a commission at no extra cost to you. Links currently point to each vendor's official partnership page until our dedicated tracking links are registered.
Not Sure What Delimiter Your File Uses?
Run it through the free CSV analyzer, which flags stray delimiters and mixed formats before they cost you an afternoon.
Related reading
Data Cleaning — other guides that pair well with this one.
- Remove Blank Rows from CSV
- Fix Garbled CSV in Excel
- Remove Special Characters in Excel
- Find and Replace in a CSV
Browse all guides in the NoCodeCSV blog.