JSON to Excel Converter

JSON Input
1
Spreadsheet Preview
// Paste JSON and click Convert to preview the spreadsheet

Last updated:

Jsonic's JSON to Excel converter turns a JSON array into a real .xlsx spreadsheet. Each object becomes a row and each key a column; nested objects are flattened into dotted columns like address.city, numbers and booleans stay native Excel types, and wrapped API responses such as {"data": [...]} are detected automatically. The file has a bold, frozen header row with filters switched on. Everything runs in your browser — the JSON is never uploaded.

How JSON maps to rows and columns

[
  { "id": 1, "name": "Alice", "address": { "city": "London" }, "tags": ["vip", "newsletter"] },
  { "id": 2, "name": "Bob",   "address": { "city": "Austin" }, "tags": [] }
]

becomes this sheet:

idnameaddress.citytags
1AliceLondonvip, newsletter
2BobAustin
  • Columns appear in the order keys are first seen; a key missing from some objects leaves those cells empty.
  • Nested objects flatten to dotted names at any depth (user.address.city).
  • Arrays of objects are kept as JSON text in a single cell so nothing is silently dropped.

JSON to Excel vs JSON to CSV

CSV is plain text: every value becomes a string, leading zeros can be lost when Excel guesses types, and non-English characters sometimes open garbled. An .xlsx file stores real numbers, booleans and Unicode text, so it opens correctly in Excel with no import wizard. If you need CSV for a database import or a script, use the JSON to CSV converter instead.

Convert JSON to Excel in Python or Excel itself

# Python — pandas flattens nested keys the same way
import json, pandas as pd
data = json.load(open("data.json"))
pd.json_normalize(data).to_excel("data.xlsx", index=False)

In Excel 2016 and later: Data → Get Data → From File → From JSON, then expand the records in Power Query. That works well for recurring imports; for a one-off file, pasting it here is faster.

How to convert JSON to Excel

  1. Paste a JSON array (or an API response) into the left panel.
  2. Click Convert and check the spreadsheet preview.
  3. Click Download .xlsx.
  4. Open the file in Excel, Google Sheets, Numbers or LibreOffice.

FAQ

How do I convert JSON to Excel?

Paste your JSON into the input panel and click Convert. Check the preview, then click Download .xlsx and open the file in Excel, Google Sheets, Numbers or LibreOffice. Each object in the array becomes a row and each key becomes a column.

What JSON structure works best?

An array of objects, such as [{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]. If you paste an API response that wraps the list — {"data": [...]}, {"results": [...]}, {"items": [...]} — the converter finds the first array of objects and uses it. A single object becomes a one-row sheet.

How are nested objects and arrays handled?

Nested objects are flattened into dotted column names, so {"address": {"city": "London"}} becomes a column called address.city. Arrays of plain values are joined with commas ("vip, newsletter"); arrays of objects are kept as JSON text in one cell so no data is lost.

Will numbers and true/false values work in Excel formulas?

Yes. Numbers are written as real numeric cells and booleans as TRUE/FALSE, so SUM, AVERAGE, filters and sorting work immediately. Text values such as ZIP codes written as strings in the JSON ("02134") stay text, so leading zeros are not lost.

Is there a size limit?

The conversion runs in your browser, so the practical limit is your device memory — tens of thousands of rows are fine. Excel itself allows 1,048,576 rows and 32,767 characters per cell; longer text is truncated to fit.

Is my data uploaded?

No. The JSON is parsed and the .xlsx file is built in JavaScript on your device. Nothing is sent to a server, so it is safe for customer exports and internal data.

How do I convert JSON to Excel in code?

Python: pandas.json_normalize(data).to_excel("out.xlsx", index=False) (needs openpyxl). Node.js: the exceljs or SheetJS (xlsx) packages. Excel itself can also import JSON via Data → Get Data → From File → From JSON (Power Query).