Browser-native file tools

How to Convert a Semicolon CSV to Comma-Delimited CSV

May 13, 2026 · 5 min read

Many files named .csv are not comma-separated at all. In Europe and other locales that use decimal commas, Excel often exports semicolon-delimited files:

name;country;amount
Ada;France;12,50
Linus;Germany;9,99
Grace;Spain;42,00

That is still commonly called CSV, but tools expecting commas may read each row as one giant column.

Fastest method

Use the CSV delimiter converter:

  1. Upload or paste the semicolon CSV.
  2. Confirm the detected delimiter is semicolon.
  3. Pick comma as the output delimiter.
  4. Download the converted file.

The important part is that a real CSV parser must rewrite the file. It should not blindly replace every ; character, because semicolons can appear inside quoted text.

Do not use find-and-replace

This looks tempting:

Find: ;
Replace: ,

It breaks data like this:

name;notes
Ada;"prefers Python; uses Excel weekly"

The semicolon inside the quoted note is part of the value, not a delimiter. A safe converter only changes delimiter semicolons between fields.

Excel method

If you want to stay inside Excel:

  1. Open Excel, not the CSV file.
  2. Go to Data -> From Text/CSV.
  3. Pick the semicolon CSV.
  4. Set delimiter to Semicolon.
  5. Load the data.
  6. Go to File -> Save As.
  7. Choose CSV UTF-8 (Comma delimited) (*.csv) if available.

Be careful: plain “CSV” can still use your system list separator. The explicit “Comma delimited” option is the one you want.

Google Sheets method

Google Sheets is simpler:

  1. Import the file into Sheets.
  2. Verify the columns split correctly.
  3. Use File -> Download -> Comma-separated values (.csv).

Sheets exports comma-delimited CSV regardless of your operating system locale.

Python method

For repeatable conversion:

import pandas as pd

df = pd.read_csv("semicolon.csv", sep=";")
df.to_csv("comma.csv", index=False)

If your file uses decimal commas like 12,50, pandas may read those as text unless you pass decimal=",".

df = pd.read_csv("semicolon.csv", sep=";", decimal=",")

When semicolon is actually better

Comma-delimited is the default for APIs, databases and US/UK spreadsheets. Semicolon-delimited can be better when your users work in locales where decimal commas are normal:

12,50 EUR
9,99 EUR

If those numbers are common, semicolons avoid visual confusion. Convert only when the target system requires commas.

If your converted file opens with broken accents, fix encoding with the CSV encoding converter. If Excel opens everything in column A, read why CSV files show in one column.

Read next