AnyFormat

00 JSON → XLSX

JSON to XLSX

An API response, straight into a spreadsheet.

01JSON in
02XLSX out
03Options 6

Flattening turns {"address":{"city":"Oslo"}} into an address.city column.

  • No upload The conversion runs in this tab. Your file never travels — not to us, and not to the advertising.
  • No sign-up, no email, no daily cap There is no account system to sign up to.
  • No size limit we invented Only your device's memory — about ~2 GB on a desktop browser, ~400 MB on a phone.
  • Turn your Wi-Fi off and convert anyway The conversion needs nothing but this page. Ads will not load without a connection; your file will still convert. That is the whole claim, and it takes five seconds to check.

Paste an API response and get a spreadsheet, without the CSV step in the middle. Skipping CSV avoids the two places that step loses things: separator ambiguity and the loss of numeric types.

Why this beats going through CSV

Converting JSON → CSV → Excel puts every value through a text round trip. Numbers come back as text if Excel's import guesses wrong, dates get reinterpreted by your locale, and a value containing your locale's separator can split into two columns. Writing the workbook directly means a JSON number becomes a numeric cell and a JSON boolean becomes a boolean cell, with nothing in between to misread them.

Nested data

The same flattening as the CSV tool applies: nested objects become dotted column names, and arrays of plain values are joined into a single cell. An array of objects nested inside each record is flattened positionally, which produces a very wide sheet — if that happens, the data probably wants to be two sheets, and the honest answer is to split it before converting.

Columns come from every record, not the first

A CSV writer that reads the first object and takes its keys as the header will drop any field that only appears later in the file — a common way to lose optional data without noticing. Every record is scanned first, so a key present on one object out of ten thousand still gets a column. The order follows first appearance rather than the alphabet, which keeps a familiar shape for data that was generated in a sensible order. Records missing a key get an empty cell, which is distinct in a spreadsheet from a cell holding an empty string.

Other names for this

Also searched as “json to excel”, “convert json to spreadsheet”.

Questions

Do numbers stay numbers?
Yes. Writing the workbook directly means numeric JSON values become numeric cells, so they sum and sort without any import step.
What if my JSON is deeply nested?
It flattens into dotted columns, which gets wide quickly. Consider extracting the array you actually want first — the JSON to CSV page explains how the record set is chosen.
Is my data uploaded anywhere?
No. The conversion runs as JavaScript inside this tab. Open your browser's Network panel and convert something — you will see no request carrying your data, because there is no server to send it to. You can also turn your Wi-Fi off and convert anyway.