Convert JSON to Excel
Upload an API's JSON response and download it as .xlsx (or CSV) with one row per object and one column per property.
From an API response to a spreadsheet
JSON is how APIs talk, but nobody analyses data by reading braces and brackets. This tool turns it into a flat table: one row per object, one column per property, ready to filter and sum in Excel.
It accepts the two shapes almost every API produces: an array of objects at the
root ([ {…}, {…} ]) or an object with the array inside it, like the familiar
{"data": [...]}. If the array goes by another name — items, results — it
still finds it: it picks the first top-level array without asking you to point
at it.
Nested properties are flattened
A table has no way to represent hierarchies, so nested properties are flattened with dot notation. An object like this:
{ "id": 1, "customer": { "name": "Ana", "city": "Vigo" } }
produces the columns id, customer.name and customer.city. Each level of
nesting adds a dot, so you never lose track of where a value came from.
Columns are gathered from every object
This is the detail that stops data from being lost silently. The objects in a
JSON file need not share the same properties: the first might omit a phone
field while the fifth includes it. So the whole array is scanned to build
the column list, not just the first object.
Where an object lacks a property, its cell is left blank. Nothing is dropped for failing to appear in the first row.
Nested arrays are stored as text
If a property is itself a list — "tags": ["a", "b"] — turning it into more
columns would produce tables of unpredictable width. Instead it is serialised
as-is, as JSON text (["a","b"]), in a single cell. That keeps the table a
stable shape without losing the information.
Scalar values are typed: numbers arrive as numbers and ISO-format dates as dates, so Excel can compute with them.
Frequently asked questions
Can I download CSV instead of Excel?
Yes. The format option lets you pick .xlsx or .csv over the same flattened
table.
What if the JSON is not a list of objects?
The tool needs an array of objects, either directly or inside a wrapper. If the file contains none, it warns you instead of producing an empty sheet.
What if the JSON is malformed?
It stops and tells you. Trailing commas and comments are tolerated, since those are the most common slips, but a genuinely broken file cannot be guessed.
Can I choose the sheet name?
Yes. Leave it blank and the sheet takes the name of the file you uploaded.
How do I go the other way?
Use Excel to JSON, which turns each row of your sheet into an object.