Free · Fast · Privacy-first

JSON to CSV for Excel

Excel is the world's most-used data tool, but it is also famously picky about CSV.

Native JSON tool

JSON to CSV

Runs in your browser
CSV output
Run the tool to see a task-specific result.

UTF-8 BOM for Windows Excel

🔒

CRLF line endings by default

Semicolon delimiter for European Excel

Opens cleanly on first try

Cost
Free tier
Sign-up
Not required
Processing
Tool-specific
Privacy
Clearly disclosed
IframeResponsiveAttribution included

Add this JSON to CSV to your website

Drop the JSON to CSV into a blog post, product docs, intranet, or school portal with one iframe. Processing, privacy, and usage limits are the same as on the full tool page.

  • One copy-ready line of HTML
  • Responsive — adapts to any container width
  • No API credentials are placed in the snippet

Embed code

<iframe
  src="https://www.fixtools.io/json/json-to-csv?embed=1"
  width="100%"
  height="780"
  frameborder="0"
  style="border:0;border-radius:16px;max-width:900px;"
  title="JSON to CSV by FixTools"
  loading="lazy"
  allow="clipboard-write"
></iframe>

Attribution-friendly: a small "Powered by FixTools" link appears in the embed footer.

Why Excel needs special-case CSV settings

Excel's CSV import behaviour is a product of decades of decisions that pre-date Unicode and pre-date the modern web. On Windows, Excel uses the byte-order mark (BOM) to detect UTF-8. Without the BOM, Excel falls back to the system code page, which on most installations is Windows-1252 or a regional variant. UTF-8 files without a BOM appear with mangled accented characters when opened on Windows Excel: é shows as é, ñ shows as ñ, and emoji turn into question-mark glyphs. FixTools writes a UTF-8 BOM at the start of the file by default, which is three bytes (EF BB BF) that Excel recognises and uses to switch to UTF-8 mode for the rest of the read.

The delimiter is the other obvious Excel gotcha. Excel for English-locale Windows users expects commas, which is the obvious default. Excel for German, French, Spanish, Italian, and most other continental European locales expects semicolons because comma is the decimal separator in those locales and would conflict with numeric values. A comma-delimited CSV opened on German Excel shows every row collapsed into the first column, and the user has to invoke the Text Import Wizard to split it manually. FixTools offers a delimiter dropdown so you pick the right separator before downloading, and the URL captures your choice for next time.

Line endings are the subtle catch. The RFC 4180 specification mandates CRLF for CSV, and modern Excel handles both CRLF and LF correctly on import. Older Excel versions and some integration endpoints still insist on CRLF, so FixTools defaults to CRLF for maximum compatibility. If you are feeding the CSV to a Unix-native pipeline that expects LF, switch the setting and the file is regenerated with LF only.

Quoting style matters less than encoding and delimiter but still catches edge cases. RFC 4180 mandates double-quote enclosure for any field containing a comma, newline, or double quote, and doubling of literal double quotes inside such fields. FixTools quotes only when needed by default, which keeps the file readable, and offers a quote-all-fields option for downstream tools that prefer it. Either style opens correctly in Excel.

How to use this tool

💡

Convert JSON to CSV with Excel-friendly defaults: UTF-8 BOM, CRLF endings, comma or semicolon delimiter for English or European Excel.

How It Works

Step-by-step guide to json to csv for excel:

  1. 1

    Paste JSON

    Drop your JSON file or paste the JSON text into the editor. The parser reports the array length and key count so you have a sense of the CSV size before downloading.

  2. 2

    Pick your Excel locale

    Choose comma delimiter for English-locale Excel or semicolon delimiter for German, French, Spanish, and most other European locales. The default is comma; switch to semicolon if you know your recipient is in continental Europe.

  3. 3

    Confirm BOM and line endings

    Leave UTF-8 BOM enabled for Windows Excel users. Leave CRLF line endings enabled for maximum Excel compatibility. These are the defaults.

  4. 4

    Download and open in Excel

    Download the CSV and double-click it on Windows or macOS. Excel opens the file directly with correct columns, correct character encoding, and no Text Import Wizard prompt.

Real-world examples

Common situations where this approach makes a real difference:

Finance team weekly reconciliation

A finance team gets a weekly JSON export from their billing system. They use Windows Excel in English locale. FixTools with UTF-8 BOM and comma delimiter produces a CSV that opens with correct columns and correct customer names with accented characters on first try, saving the team a Text Import Wizard step every Monday morning.

German marketing analyst

A German marketing analyst gets JSON from a campaign tool. Excel installed in German locale would mangle a comma-delimited CSV. FixTools with semicolon delimiter produces a file that opens cleanly into columns on first try, no manual reimport.

Operations dashboard refresh

An ops manager refreshes a dashboard fed by a CSV that originates from a nightly JSON dump. The refresh requires the CSV to load via Power Query in Excel without prompts. FixTools settings produce a file that Power Query ingests cleanly every night without user intervention.

Sales rep weekly pipeline export

A sales rep exports their pipeline as JSON from a CRM and opens it in Excel to share with their manager. FixTools defaults produce a clean CSV with international customer names rendered correctly and columns separated as expected.

Pro tips

Get better results with these expert suggestions:

1

Always include the BOM for Windows recipients

If your recipient might be on Windows Excel, the BOM is essentially free insurance. It adds three bytes and ensures international characters render correctly. macOS Excel handles both BOM and no-BOM files cleanly, so including the BOM is the safe default for mixed audiences.

2

Detect the recipient locale before sending

When sending CSVs across geographies, a one-line question to the recipient about their Excel locale saves a frustrating round-trip. German, French, Spanish, Italian, Dutch, and Portuguese locales generally want semicolons. English (UK, US, AU, IE) and most Asian locales want commas. When in doubt, send both versions.

3

Avoid leading zero loss with explicit text marking

Excel strips leading zeros from values it interprets as numbers, which mangles ZIP codes and product SKUs. To preserve them, prefix the value with an apostrophe in the source JSON, or wrap it in ="value" in the CSV. Both signal text to Excel and prevent numeric coercion on open.

4

Test the file with double-click on a real Windows machine

CSV behaviour differs subtly between Excel for Windows and Excel for Mac. If your audience is primarily on Windows, do the final compatibility test on a Windows machine. Mac-only testing can give a false sense of compatibility for issues that only manifest under Windows code page assumptions.

FAQ

Frequently asked questions

Excel on Windows uses the byte-order mark to detect UTF-8. Without the BOM, it falls back to a regional code page that mangles accented characters and emoji. Enable the UTF-8 BOM option in FixTools to add the BOM (EF BB BF) at the start of the file. After re-downloading with that setting, Excel opens the file with correct international characters on first try.
You probably have a regional Excel install that uses semicolon as the delimiter while your CSV uses comma. German, French, Spanish, Italian, Dutch, and most other continental European locales default to semicolons. Switch the delimiter setting in FixTools to semicolon and re-download. The CSV will then split into columns automatically on open.
For Excel compatibility, CRLF is the safer default and matches RFC 4180. Modern Excel handles both, but some older Excel versions and integration endpoints insist on CRLF. Use LF only if you know the downstream consumer is a Unix-native pipeline. FixTools defaults to CRLF.
Excel strips leading zeros from values it interprets as numbers, which affects ZIP codes, account numbers, and SKUs. The reliable workaround is to wrap such values in ="value" syntax in the CSV. FixTools offers a column-level option to apply this wrapping to specific columns. Alternatively, import the CSV through Excel's Data tab, where you can mark columns as Text before the data loads.
Yes. Excel for Mac handles UTF-8 CSV with or without BOM, and accepts both CRLF and LF line endings. The defaults that work for Windows Excel also work for Mac Excel, so a single FixTools-generated CSV opens correctly across both platforms.
Excel Online and the Office 365 desktop versions both handle UTF-8 BOM CSV correctly, including international characters and emoji. The delimiter behaviour follows the user's locale setting in Office 365, the same as desktop Excel. The same FixTools defaults work across all Office 365 surfaces.
Excel supports up to 1,048,576 rows and 16,384 columns per sheet. For most JSON exports this is more than enough, but very large datasets may exceed those limits. If your CSV is close to the row limit, consider splitting it into multiple files or analysing it in Power BI or Power Query, both of which handle larger datasets than vanilla Excel sheets.

Related guides

More use-case guides for the same tool:

Ready to get started?

Open JSON to CSV to review its free limits and processing method.

Open JSON to CSV →

Free tier · No account needed · Transparent limits

Source-backed reference

JSON standards quick reference

Concise, standards-backed facts for developers working with JSON debugging and validation. Each rule links to a primary specification so it can be independently verified before you rely on it in code, documentation, or an incident report.

JSON standard
RFC 8259 defines JSON as a text format for serializing structured data. JSON values may be objects, arrays, strings, numbers, true, false, or null.
Verify in RFC 8259
Strings and object keys
JSON strings and object member names use double quotation marks. Single-quoted strings are not valid JSON syntax.
Verify in RFC 8259 §7
Trailing commas
The JSON grammar does not allow a comma after the final member of an object or the final element of an array.
Verify in RFC 8259 §4–5
Interoperability
ECMA-404 describes the JSON syntax independently of any programming language, which is why standard parsers can exchange the same JSON text across runtimes.
Verify in ECMA-404

Common invalid → valid JSON examples

Trailing comma

{"a":1,}{"a":1}

Single-quoted key

{'a':1}{"a":1}

Unsupported literal

{"score":NaN}{"score":null}

Built for verification, not just extraction

Direct answers are paired with primary sources and concrete examples. That makes this page useful to developers and also gives search and answer systems a clear, verifiable statement to reference instead of an unsupported summary.