← Open the tool
*

Semicolon CSV - Excel - JSON

Convert semicolon CSV to JSON

Updated: May 2026

Many CSV files use semicolons instead of commas. This is common with regional Excel settings, especially when comma is used as a decimal separator. To convert this kind of CSV to JSON, choose the right delimiter before running the transformation.

Use the JSON CSV tool ->

Free - No upload - Browser-based conversion

Why semicolon is the European separator

Excel automatically uses the list separator defined in the operating system's regional settings. In France, Belgium, Switzerland, Germany and many other European countries, the decimal separator is a comma (1,5 for one-and-a-half). Since comma is already used for decimals, Excel defaults to semicolon as the column separator to avoid ambiguity.

This means a CSV file generated by Excel in France will use semicolons, while the same Excel version in the United States will use commas. When you move a file across regions, the delimiter mismatch causes the entire file to collapse into one column.

Common semicolon CSV sources

  • SAP exports — SAP commonly outputs semicolon-separated files for European installations.
  • Accounting software (Sage, QuickBooks EU, Cegid) — billing and ledger exports use regional settings.
  • SQL Server Management Studio (SSMS) — results can be exported as CSV with the regional separator.
  • Google Forms — when the form owner's locale is European, the exported CSV may use semicolons.
  • Regional Excel — any Save As CSV from a European locale Excel installation.

Detecting the separator

Open the CSV in a plain text editor (Notepad, VS Code, TextEdit). Look at the first data line — the character between values is the separator. A line like Alice;30;Paris uses semicolons. A line like Alice,30,Paris uses commas. Tab-separated files show spacing between values that cannot be removed with the spacebar.

Semicolon CSV to JSON example

name;price;stock
Widget A;12,50;100
Widget B;8,99;250

With semicolon delimiter selected, the JSON output is:

[
  {"name":"Widget A","price":"12,50","stock":"100"},
  {"name":"Widget B","price":"8,99","stock":"250"}
]

The decimal comma in price values is preserved as a string — type inference leaves it as text since "12,50" is not a standard JSON number.

How to do it with Flowfiles

  1. Open the JSON CSV tool.
  2. Switch to CSV to JSON mode.
  3. Select the semicolon delimiter.
  4. Paste your CSV content.
  5. Convert and download or copy the JSON output.

Frequently asked questions

How do I know if my CSV uses semicolons?

Open the file in a text editor (not Excel). If you see semicolons between values on the first data row, the delimiter is semicolon. Excel hides the delimiter by displaying columns — a text editor shows the raw file.

My CSV sometimes uses commas, sometimes semicolons — what to do?

This usually means the file was assembled from multiple sources with different regional settings. The safest fix is to open the file in a text editor and do a find-and-replace to normalize the delimiter before converting.

Does the tool auto-detect the separator?

Auto-detection is available but not always reliable when the file contains mixed text with commas, semicolons and numbers. If the JSON output looks wrong (one key per row instead of multiple), manually switch to a different delimiter.

Are decimal commas (1,5) handled correctly?

Yes, with semicolons as the delimiter, "1,5" is treated as a single field value. It remains a string in the JSON output since it is not a valid JSON number. Convert it to a float in your application code if needed (parseFloat("1,5".replace(",",".")) in JavaScript).

Can I convert a Google Sheets export?

Yes. Download the sheet as CSV (File > Download > CSV). If the sheet owner's locale is European, the file may use semicolons. Select the correct delimiter in the tool, paste the content and convert.

Does a semicolon inside a text value cause problems?

Only if the field is not quoted. A properly formatted CSV wraps fields containing the delimiter in double quotes: "Paris; Lyon; Nice" is treated as a single value. The tool handles this correctly as long as the source file is well-formed.