How to open a JSON file in Excel
Excel can’t open JSON with a double-click. Turn it into a CSV with one column per field and it opens as a normal table, accented names and all.
Double-click a JSON file and Excel either refuses it or pours the whole thing into a single cell. The data is fine. JSON simply isn’t shaped like a spreadsheet: it is a tree of nested objects, while Excel wants rows and columns. Bridge the two and the file opens like any other table.
What Excel needs
A spreadsheet table is one record per row and one field per column. JSON exports from apps, APIs and databases are usually a list of records already, it just doesn’t look like one:
[{"name":"Ana","city":"Lisbon","orders":3},
{"name":"Ben","city":"Leeds","orders":5}]
Each object is a row and each key is a column heading. Converting that list into CSV gives Excel exactly the shape it expects.
Convert it to CSV
Drop the file into JSON to CSV or paste the JSON into the box. Every key found in any record becomes a column, in the order it first appears, so a record that is missing a field gets an empty cell instead of shifting the rest of its row out of line.
Keep Make it open cleanly in Excel switched on. It adds a small marker at the start of the file that tells Excel the text is UTF-8, so names such as José and Zoë don’t turn into garbled characters. Download the CSV and open it in Excel.
Nested data
Real exports often contain objects inside objects: an address with its own street and city, or an order with a list of items. Those can’t become a single column without deciding how to split them, so the converter writes them into the cell as JSON text. Flat fields, which is usually what you want to sort and filter, still get clean columns of their own.
If the list of records is itself inside a wrapper, such as {"results": [ ... ]}, convert only
the part in square brackets. Otherwise the whole wrapper becomes a single row. The
JSON formatter indents the file so you can see where the list starts and
copy just that part.
When the JSON won’t convert
If the converter reports invalid JSON, the file has a syntax error, not a structure problem. The usual suspects are a trailing comma after the last item, single quotes instead of double quotes, or a file that was cut off part way. How to fix invalid JSON covers each one.
Excel’s own import
Microsoft 365 versions of Excel can also import JSON through Data → Get Data → From File → From JSON, which opens the Power Query editor. It is powerful, especially for files you reload regularly, but it asks you to expand records and lists step by step. For a one-off look at an export, converting to CSV is quicker and works in every spreadsheet program, including Google Sheets, LibreOffice and Numbers.
Need a real workbook?
A CSV is plain text, so it keeps no formatting or extra sheets. If you need an .xlsx to share, run the CSV through CSV to Excel. CSV vs Excel explains what each format keeps.
Common questions
Why does Excel show my JSON as one long line of text?
Excel opens files as tables of rows and columns. JSON is a nested structure with no rows, so Excel has nothing to split it on and drops the whole text into one cell or column.
What happens to nested objects and arrays?
They can’t become columns without making choices about the structure, so the converter writes each one into its cell as JSON text. Flat fields such as names, dates and totals get their own columns.
Can I get an .xlsx file instead of a CSV?
Yes. Convert the JSON to CSV, then run the CSV through a CSV to Excel converter. The CSV step is still where the table structure is decided.
My JSON file won’t convert. What’s wrong?
Usually the JSON itself is invalid: a trailing comma, single quotes or a missing bracket. A JSON formatter points to the exact line so you can fix it.