DocTransform

Free tool

Convert JSON to Excel

Drop a JSON file and download an Excel sheet with one row per record and nested fields in their own columns.

Drop your JSON file here

JSON or JSON Lines. Up to 50 MB.

Free, no sign-up. Your file is read in this browser tab and never uploaded.

Nested fields become their own columns (address.city), lists of values share one cell (red, blue), and lists of records get numbered columns (items.1.price).

Before
[
  {"id": 1, "name": "Ana",
   "address": {"city": "Lyon"},
   "tags": ["vip", "new"]},
  {"id": 2, "name": "Ben",
   "address": {"city": "Oslo"},
   "tags": []}
]
After

How to convert JSON to Excel

  1. In Excel for Windows (2016 or later), choose Data, Get Data, From File, From JSON, and pick your file.
  2. In the Power Query window, click To Table, then OK.
  3. Click the two-arrow button in a column header that shows Record, then OK. Repeat until no column shows Record.
  4. For a column that shows List, click its two-arrow button, choose Extract Values, pick Comma and click OK.
  5. Click Close & Load, then choose File, Save As, Excel Workbook (.xlsx).

Or drop the file at the top of this page and skip these steps.

Questions

Is my file uploaded?

No. The file is read and converted by this page inside your browser tab. Nothing is sent to a server.

What happens to nested data?

Each record becomes one row. Nested fields become their own columns (address.city), lists of values share one cell (red, blue), and lists of records get numbered columns (items.1.price). If the records sit inside a wrapper, like {"data": [...]}, the rows come from that list and the summary says so. JSON Lines files work too.

Which columns become numbers in Excel?

Only columns where every value is a plain number, like 2 or 12.5. Codes such as 02134 and IDs longer than 15 digits stay text, so nothing is rounded or loses a zero. True/false columns become TRUE/FALSE.

Is there a size limit?

Up to 50 MB per file. One Excel sheet holds at most 1,048,575 rows, so a longer file is refused: convert it to CSV instead. Nothing is ever cut short.

More from DocTransform

Convert a file

Fix or check a CSV