How to Open a JSON File in Excel (Two Ways, One Catch)
You don't need a converter to open a JSON file in Excel. Excel has imported JSON on its own for years โ the feature is called Power Query, it ships in the box, and the tutorials that skip straight to third-party tools are leaving it out either from ignorance or convenience. Here's the part those tutorials' critics leave out, though: in a good half of real cases, the native route is still the slower choice. Both claims are true. Which route you want depends on precisely two questions, and we'll get to them.
By the end of this you'll be able to run either route in a couple of minutes, and โ more usefully โ know which one fits the file in front of you.
Route one: Excel's built-in import
The native path, on Windows Excel: Data โ Get Data โ From File โ From JSON. Pick your file and Excel opens it in the Power Query editor rather than on a worksheet. What you see there is the parsed structure โ a Record or a List, not rows yet. Convert it with To Table, then click the expand icon on the column header to spread the fields into columns, repeating for any nested records. Close & Load puts the result on a sheet.
The verdict on this route: it's the right tool when the import is recurring. Power Query stores the connection, so when next month's export lands you hit Refresh and the sheet updates. That's genuinely valuable and no online converter does it.
The costs: every level of nesting is another manual expand step; the editor is its own small skill to learn; and on Excel for Mac, Power Query support has historically trailed Windows โ whether From JSON exists at all depends on your version. (The menu labels also drift between Excel builds โ I haven't audited every one, so expect small wording differences.)
Route two: flatten to CSV, then just double-click
The second route moves the conversion out of Excel. Paste your JSON into the JSON to CSV converter โ it runs in the browser, nothing uploads โ and it flattens the array into comma-separated rows with a header built from the keys. Nested objects become dotted column names automatically: address.city is just a column. Download the .csv, double-click it, done. Excel opens CSV natively with zero ceremony, and the identical file also opens in Google Sheets, Numbers, or our CSV Viewer if you just want to eyeball it without a spreadsheet at all.
Verdict: for a one-off โ someone sent you data, you need it as a grid, you'll never import this source again โ this is the fast route. No editor to learn, no per-level expansion clicks, no Mac caveats.
The catch both routes share
Now the part that actually causes the failed imports, and it isn't procedural. JSON is a tree. A spreadsheet is a grid. Those are different shapes, and no button changes that.
Think of a family tree versus the seating chart at the family reunion. The tree records structure โ who descends from whom, to arbitrary depth. The seating chart is flat: rows of chairs, everyone gets exactly one. To seat the family you must decide what to do with the structure: put the grandchildren at their parents' table (dotted columns like parent.child), give them their own tables (extra rows), or tape the overflow list to the back of a chair (a serialized cell). Every JSON-to-spreadsheet conversion is making these seating decisions, whether you see them or not.
So the honest diagnostic isn't "which importer is best" โ it's "how tree-shaped is my data?" A flat array of same-keyed objects (the classic API list response) fits the grid perfectly and either route handles it in one pass. Deep nesting, arrays inside arrays, objects whose keys differ from row to row: that's where Power Query demands a dozen expand decisions and where a converter's automatic flattening choices may not match the ones you'd have made. For genuinely gnarly structures, inspect the tree first in a JSON viewer so you know what you're flattening before you flatten it.
Which route when
| Your situation | Use |
|---|---|
| One-off file, need it now | Convert to CSV, double-click |
| Same source, re-imported weekly | Power Query, refresh the connection |
| Excel for Mac, older build | CSV route (always available) |
| Flat array of objects | Either โ both are quick |
| Deeply nested, unfamiliar data | View the tree first, then decide |
| No Excel installed | CSV โ Google Sheets or CSV Viewer |
Before you import: prove it parses
One habit eliminates the most common failure outright. Excel's import error messages are terse โ a refusal, not a diagnosis. A malformed file (trailing comma, truncated download, stray single quote) fails identically to a structural mismatch, and you can't tell which you have from Excel's side. Thirty seconds in the JSON Validator beforehand gives you the exact character where parsing fails, or a clean bill of health that rules syntax out. If it is broken, our guide on fixing invalid JSON covers the five mistakes behind nearly all of it.
And if you've landed here but Excel isn't actually the goal โ you just need to read the thing โ the broader options are in how to open a JSON file.
The verdict, plainly
Both openings of this post were true. Excel really does open JSON natively, and the native route really is often slower. Recurring import: Power Query, learn it once, refresh forever. One-off: flatten to CSV in the browser and double-click. Either way the grid can only hold what the tree gives up โ so look at the structure before you pick the seating.
Try the tools
Frequently Asked Questions
Can Excel open a JSON file directly?
Yes. Modern Excel imports JSON through Power Query: Data tab โ Get Data โ From File โ From JSON. It doesn't open like a workbook with a double-click, though โ you step through Power Query's editor to convert the parsed JSON into a table before it lands on a sheet.
What's the easiest way to open JSON in Excel?
For a one-off, convert the JSON to CSV with an online converter, download the .csv, and double-click it โ Excel opens it immediately with keys as column headers. The native Power Query import earns its extra clicks only when you'll re-import the same source repeatedly.
How do I open a JSON file in Excel on a Mac?
Excel for Mac's Power Query support has lagged behind Windows, and the From JSON option depends on your version. The route that always works: convert the JSON to CSV in your browser first, then open the CSV โ that path is identical on Mac, Windows, and Google Sheets.
How does nested JSON end up in spreadsheet columns?
It has to be flattened. A converter turns nested objects into dotted column names (address.city becomes one column), and Power Query makes you expand each nested record or list into columns manually. Deeply nested arrays either become serialized cells or extra rows, depending on the tool and your choices.
Why does my JSON import into Excel fail?
The two usual causes: the JSON is malformed (Excel's message won't tell you where), or the structure isn't the flat array of objects the import expects. Run the file through a JSON validator first to rule out syntax, then look at whether the data is deeply nested.
Dr. Anika Rhodes writes for CodeUtilityKit, where the team builds free, privacy-first developer tools that run entirely in your browser. Every guide is written and reviewed by developers who use these tools daily.