How to Get JSON into Excel: 3 Reliable Ways
Excel can’t open a .json file and make sense of it — you get one cell of raw text. Here are three reliable ways to get JSON into a proper Excel grid, from quickest to most powerful.
Option 1: JSON → CSV → Excel (fastest)
For a flat array of objects — the shape most API responses take — convert to CSV, then open in Excel.
[
{"id": 1, "name": "Ada", "role": "admin"},
{"id": 2, "name": "Alan", "role": "editor"}
]
becomes
id,name,role
1,Ada,admin
2,Alan,editor
Save as .csv, double-click, done. The JSON to CSV converter does the conversion in your browser, or JSON to Excel hands you the sheet directly.
Option 2: Power Query (for nested JSON)
If your JSON has nested objects or arrays, Excel’s built-in Power Query handles it:
- Data → Get Data → From File → From JSON
- Pick your file; the Power Query editor opens.
- Click To Table, then use the expand button on any column to flatten nested fields.
- Close & Load.
This keeps a live connection — refresh re-imports the file. Great for recurring reports, overkill for a one-off.
Option 3: A script (for automation)
If it’s a pipeline, do it in code:
import pandas as pd
pd.read_json("data.json").to_excel("data.xlsx", index=False)
pandas flattens a flat array cleanly; use pd.json_normalize() for nested structures.
Which to use
- One-off, flat data → JSON → CSV, open in Excel. Seconds.
- Nested data, recurring → Power Query.
- Automated pipeline → pandas.
The trap with all three: Excel loves to “helpfully” reformat values — long numbers become scientific notation, leading zeros vanish, and date-like strings become dates. Import ID and code columns as Text to keep them intact.