JSON to Excel.
Download a .csv that Excel opens correctly — UTF-8 BOM so accents and non-ASCII render right, CRLF line endings, always-quoted fields. Drop into Excel, Google Sheets, or Numbers without any import dialog dance.
· converts in your browser · nothing uploads · localStorage persists your last input
The three settings that make Excel behave
- UTF-8 BOM on. Excel assumes Windows-1252 encoding unless the file starts with the BOM (bytes EF BB BF). Without it, accented characters, smart quotes, emoji, and CJK text all show up as mojibake garbage. With it, Excel reads UTF-8 correctly. Always-on for this page.
- CRLF line endings. Windows — and therefore Excel — expects
\r\nbetween rows. LF-only files sometimes work but sometimes get read as a single super-long row. CRLF is the safe choice. Already enabled here. - Quoted fields. Excel aggressively auto-parses cells that look like numbers, dates, or Boolean values. Always-quoted output reduces (not eliminates) that auto-parsing — date-shaped strings still get converted, but most other content survives.
When to skip CSV and generate real .xlsx
True .xlsx is worth the extra step when your output needs formulas, multiple sheets, cell formatting, column widths, or charts. None of that exists in CSV, and none of it exists in JSON either — so if you have it, you're generating it from something else, and you probably already have a library. For plain tabular data from an API response, CSV with the settings above is indistinguishable to the end user.
If you do need real .xlsx from JSON: open the downloaded .csv in Excel, then File → Save As → Excel Workbook. One click. You get the .xlsx wrapper around the same data, ready for formulas.
FAQ
How do I convert JSON to Excel?
Paste your JSON into the tool below, click Download, and double-click the resulting .csv file. It opens in Excel automatically. The file has a UTF-8 BOM and CRLF line endings (Excel's preferred defaults), and fields are always quoted to prevent Excel from auto-parsing things it shouldn't.
Why CSV and not .xlsx?
For simple tabular data, Excel reads .csv natively and the result is indistinguishable from opening an .xlsx file. True .xlsx has extras that don't exist in JSON anyway (formulas, cell formatting, multiple sheets, charts). Writing real .xlsx from a browser requires pulling in a ~200KB library and the output is always one sheet with no formulas — so .csv with the right settings is the right call 95% of the time.
Why does my Excel file show garbled accented characters?
That's the classic missing-BOM problem. When Excel opens a CSV without a UTF-8 BOM, it defaults to Windows-1252 encoding, which mangles anything outside basic ASCII. The 'Excel BOM' option in this tool prepends the 3-byte BOM (EF BB BF), which Excel recognizes and switches to UTF-8 automatically. Turn it on; the problem goes away.
What about dates?
Excel auto-converts anything that looks like a date. If your JSON has a string like '2026-04-21', Excel treats it as a date and displays it in whatever locale format the user has set. If you want the date shown exactly as the JSON had it, either prefix with an apostrophe inside the JSON ("'2026-04-21") or set quoting to 'always' (which it is by default on this page) — Excel respects quoted text cells more often but not always. The durable fix: do date formatting in Excel after import, not before.
How do I convert to a real .xlsx file?
Open the downloaded .csv in Excel, then File → Save As → Excel Workbook (.xlsx). Excel does the conversion in one click. You gain formulas, charts, multiple sheets — all things that matter if you're going to keep working inside Excel.
Does this work with nested JSON?
Yes — nested objects are flattened with dot notation by default. A JSON like {user: {name: 'Ada', role: 'engineer'}} becomes two columns: user.name and user.role. This is what you want for Excel, because Excel has no concept of nested structure — every cell is flat. Arrays of primitives are joined with semicolons to fit in one cell; arrays of objects are indexed: items[0].name, items[1].name.
Can I paste from the clipboard directly into Excel without downloading?
Yes — use the Copy button and paste into Excel. Excel interprets tab-separated values by default, so for that workflow: switch delimiter to 'tab', copy, paste into A1. No file needed. That's often faster for small one-off conversions.
Related
- · JSON to CSV (bidirectional) — the same tool without Excel-forced defaults. Good for web pipelines and other tooling.
- · CSV to JSON — reverse direction. Paste spreadsheet data, get an array of objects.
- · How to create a CSV file — the full rundown of CSV creation methods and when each is right.