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.
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
- Open the tool and paste your JSON.
- Select JSON to CSV mode.
- Choose the semicolon delimiter.
- Enable UTF-8 BOM for correct accent rendering.
- 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.