← Open the tool
*

JSON to Excel - CSV - delimiter

Convert JSON to CSV for Excel

Updated: May 2026

Excel does not always open CSV files the way you expect: all values may land in one column, accents may look wrong or the delimiter may not match your regional settings. To go from JSON to an Excel-friendly CSV, choose the right delimiter and keep a regular column structure.

Use the JSON CSV tool ->

Free - No upload - Browser-based conversion

Why Excel struggles with standard CSV

Excel reads the system regional settings to decide which character separates columns. In English-locale Windows, it expects a comma. In French, German, Belgian or Swiss locales, Excel defaults to a semicolon because comma is already used as the decimal separator (1,5 instead of 1.5). A standard comma-delimited CSV opened in a European Excel will dump all values into a single column.

The second common problem is encoding. Without a UTF-8 BOM (byte order mark) at the start of the file, Excel may misinterpret accented characters — é becomes é, ü becomes ü. This is invisible when creating the file but immediately visible when opening it.

The winning trio for Excel

Three settings together produce a CSV that opens correctly in Excel in any region:

  • Semicolon delimiter — matches European regional settings and avoids collision with decimal commas.
  • UTF-8 BOM — a three-byte signature at the start of the file that tells Excel the encoding is UTF-8, preserving all accented and special characters.
  • CRLF line endings — Windows-style line endings (carriage return + line feed) that Excel expects when reading files saved on Windows.

Flowfiles applies all three when you enable the Excel-compatible download option.

JSON to semicolon CSV example

[{"prénom":"Alice","âge":30,"ville":"Paris"},
 {"prénom":"Bob","âge":25,"ville":"Lyon"}]

Excel-compatible output (semicolon + BOM):

prénom;âge;ville
Alice;30;Paris
Bob;25;Lyon

Accented characters are preserved and columns split correctly on opening.

Quick test after opening

Two things to verify when you open the downloaded CSV in Excel: columns should be separated (not everything in column A), and accented characters should render correctly. If columns are wrong, re-download with the semicolon delimiter. If characters look garbled, the BOM option was not enabled — re-download with BOM.

Alternative: import instead of open

If double-clicking the CSV still misbehaves, use Excel's import wizard instead. Go to Data > From Text/CSV, select the file, then choose the delimiter manually in the dialog. This bypasses regional detection entirely and gives you full control over the result.

How to do it with Flowfiles

  1. Open the tool and paste your JSON.
  2. Select JSON to CSV mode.
  3. Choose the semicolon delimiter.
  4. Enable UTF-8 BOM for correct accent rendering.
  5. Download the CSV and open it directly in Excel.

Frequently asked questions

My special characters are corrupted when opening — what to do?

Enable the UTF-8 BOM option before downloading. The BOM tells Excel that the file is UTF-8 encoded. Without it, Excel assumes a legacy encoding and misreads accented characters like é, ü, ñ.

What is the difference between opening and importing a CSV in Excel?

Opening (double-click) uses regional defaults and often fails. Importing (Data > From Text/CSV) lets you choose the delimiter, encoding and column types manually — it is more reliable for non-standard files.

Is the BOM necessary on Mac?

Usually not. Excel on macOS handles UTF-8 more gracefully and often reads accented characters correctly without a BOM. However, adding a BOM does no harm on Mac and improves cross-platform compatibility.

Does Google Sheets have the same delimiter problem?

Google Sheets is more flexible — it auto-detects commas and semicolons in most cases. When importing via File > Import, you can also specify the separator manually. Encoding issues are rare since Sheets is UTF-8 by default.

Does a decimal comma (1,5) break the CSV?

A decimal comma in a value conflicts with the comma delimiter. Use the semicolon delimiter so commas inside values are not misread as column separators. Numbers like 1,5 then stay intact in their cell.

Can I automate this conversion?

For one-off jobs, the browser tool is the fastest option. For recurring automation, the same logic can be replicated with Python (pandas to_csv with sep=";", encoding="utf-8-sig") or Node.js. The utf-8-sig encoding adds the BOM automatically in Python.