AAnyToExcel
Convert
JSON to Excel

Convert JSON to Excel

Upload a JSON or JSONL file up to 5 MB and download a spreadsheet with one row per record. Nested objects become columns such as customer.address.city, and records with different fields keep every column.

or drop it here — CSV, JSON, HTML table, PDF, image
Excel file

Accepts .json and .jsonl — up to 5 MB, no account needed

Under the hood

What this converter handles

01

Nested data flattened into columns

Objects inside objects become dot-notation headers, at every level of nesting. A deeply nested record reads as one normal row rather than raw JSON text in one cell.

02

API responses unwrapped automatically

When the file is an object rather than a list, the largest array of records directly inside it is taken as the data, and the status and metadata around it are left out.

03

Inconsistent records keep every field

Headers are collected from every record, not just the first. If record forty introduces a phone number, that column exists and earlier rows simply leave it empty.

04

Arrays of values stay readable

A list of plain values, such as tags, becomes one cell joined with commas rather than one column per item.

What this does not handle

  • Files over 5 MB.
  • Records nested more than one level under the top-level object: {"data": {"items": [...]}} becomes a single row.
  • Arrays of objects inside a record, such as order line items: written into one cell as JSON text, not split into rows.
  • true and false: written as text, not as Excel TRUE and FALSE.

Questions

Before you convert

What happens to nested objects?+

They become dot-notation columns. A record holding client.address.city gets a column with exactly that name, rather than a cell containing raw JSON text.

My JSON is an API response with status and meta — will that work?+

Yes. When the top level is an object, the largest array of records directly inside it is treated as the data, so a response shaped like { status, meta, data: [...] } converts the data and leaves out the wrapper.

Do you support JSONL or NDJSON?+

Yes. If the file is not valid JSON as a whole, each line is parsed separately. Lines that fail are skipped with a warning rather than failing the file.

What if records have different fields?+

Every key from every record becomes a column, in the order first seen. A record missing a field gets an empty cell instead of losing the column.

What happens to an array inside a field?+

An array of plain values becomes one cell joined with commas, so a tags field stays a single readable column instead of exploding into tags.0, tags.1 and tags.2.

Are numbers and dates still typed correctly?+

Yes. After flattening, every column is tested for numbers and dates, the same way it is for CSV.