How to Convert JSON to a Spreadsheet Table
JSON is great for machines. It's terrible to read as a human being, especially once it's nested a few levels deep. If you've ever been handed a JSON file, an API response, a config export, a data dump, and needed to actually look at it as a table so you can sort it, filter it, or hand it to someone who doesn't want to look at curly braces, you already know the problem.
Here are a few real ways to solve it, from quick and manual to fully automated.
Option 1: Paste It Into a Converter Tool
The fastest route for a one-off file is a browser-based JSON-to-table converter. Paste your JSON in, get a table out. This works fine for small, simple, flat JSON structures. It starts to fall apart once your JSON has nested objects or arrays inside arrays, most simple converters either flatten things incorrectly or just give up and show you raw text instead.
Worth knowing before you use one: pasting sensitive or proprietary JSON into a random web tool means that data is going through someone else's server. Fine for a public API's sample response, not fine if the JSON contains anything private.
Option 2: Python, If You're Comfortable With Code
If the JSON is nested and you want real control over how it flattens, pandas again does the job well.
import pandas as pd
import json
with open("data.json") as f:
data = json.load(f)
df = pd.json_normalize(data)
df.to_excel("output.xlsx", index=False)json_normalize() is the useful part here, it handles nested objects by flattening them into dot-notation columns (like address.city, address.zip) automatically, which is usually exactly what you want when turning nested JSON into a flat table.
Option 3: A Local Tool That Handles Nesting Automatically
If code isn't where you want to spend your time, and you'd rather not paste your data into a web tool you don't control, this is a case where local, offline software makes more sense than either option above.
NativeOffice has a built-in JSON-to-table converter in its spreadsheet tool. Paste in JSON, even nested JSON, and it flattens automatically into a clean table, no code, no uploading your data anywhere, since the whole conversion happens locally on your machine. It works in reverse too: select a table and export straight back to JSON when you're done editing.
Picking the Right Approach
If it's a one-off, non-sensitive file and you're in a hurry, a browser converter is fine. If you're doing this repeatedly as part of a script or pipeline, the Python route is worth the extra setup since you can automate it. If the data is sensitive, nested, or you just don't want to write code every time this comes up, a local tool that handles the conversion offline is the more sensible default.
Either way, the underlying goal is the same: get from "technically correct but unreadable" to "something you can actually sort, filter, and understand at a glance."
To go from Excel back to JSON in code, see how to convert Excel to JSON in Python.
