JSON to Excel

Flatten JSON into a spreadsheet.

Or paste it here

About JSON to Excel

Paste or open JSON and get an .xlsx workbook. Nested objects are flattened into dotted column names and arrays of records become rows, so deeply structured API output turns into something you can filter and pivot.

JSON is unreadable to most of the people who need to read it. Putting it in a spreadsheet is how an API response becomes something a colleague can sort and filter.

Paste or open JSON and get an .xlsx workbook.

  • Processed on your deviceEverything you open or type here is handled by this page and never uploaded anywhere.
  • No queue, no limitsNothing waits on a server, so the only limit is your own hardware.
  • No account neededNo sign-up and no email address required.

How JSON to Excel works in your browser

An array of objects becomes rows, with the union of all keys across every object forming the header row — so an object missing a field produces an empty cell rather than shifting the columns out of alignment.

Nested objects are flattened into dotted column names: an address object with a city inside it becomes an address.city column. This is the only honest way to fit a tree into a grid, and keeping the full path in the header means you can still tell where a value came from.

Arrays inside a record are the awkward case, because a cell holds one value and an array does not. They are serialised into the cell rather than silently dropped, so nothing disappears — but a record with a long nested array is a sign the data wants more than one sheet.

When to use it

  • Making an API response readable by somebody who does not read JSON.
  • Turning a configuration or export file into something reviewable in a spreadsheet.
  • Getting log or analytics data into a form you can pivot and filter.
  • Sharing structured data with a colleague who works entirely in Excel.

Frequently asked questions

What happens to nested objects?

They are flattened into dotted column names, so a field like address.city becomes its own column and deeply structured API output turns into a flat sheet.

Do all my records need the same fields?

No. Keys are unioned across every record, so a field present in only some rows still gets a column, left empty where it does not apply.

Can I paste JSON instead of uploading a file?

Yes. Paste it directly, which is usually faster when you have copied a response out of an API client.