excelxlsxjsonconverters

JSON to Excel — Converting API Responses to Spreadsheets (and Back)

·7 min read·Converters

The audience for JSON isn't always a developer

An API response, a database export, or a generated report is naturally JSON — but the person who needs to review it is often a stakeholder, a support team, or a finance analyst who lives in Excel, not a text editor. Converting the data into a real spreadsheet file, rather than asking them to read raw JSON, is usually the faster path to getting useful feedback.

The core problem: spreadsheets are flat, JSON isn't

A spreadsheet is a grid of rows and columns — there's no native way to represent a nested object or a one-to-many relationship inside a single cell the way JSON's object/array nesting can. Any JSON-to-Excel conversion has to decide a flattening rule:

json
{
  "name": "Ravi Kumar",
  "address": { "city": "Surat", "country": "IN" },
  "tags": ["dev", "go"],
  "orders": [{ "id": 1, "total": 40 }, { "id": 2, "total": 15 }]
}

A common and predictable convention — used by JSONKit's JSON to Excel converter — is dot-notation flattening for nested objects (address.city, address.country become their own columns) and joining or JSON-stringifying arrays into a single cell, since an array of primitives fits reasonably as a comma-joined string ("dev, go") but an array of objects (like orders above, a genuine one-to-many relationship) doesn't have a lossless flat representation and is stored as a JSON string in the cell instead.

text
name          | address.city | address.country | tags     | orders
Ravi Kumar    | Surat        | IN               | dev, go  | [{"id":1,...}]

For data with a real one-to-many relationship you want properly tabular (not stringified in a cell), the cleaner approach is exporting two related sheets/tables instead of forcing everything into one flat row — which is exactly the shape JSONKit's Random JSON Generator's multi-table mode produces if you're generating the data yourself rather than converting an existing export.

Going the other direction: Excel to JSON

The reverse conversion reads the first row as column headers and produces one JSON object per subsequent row:

text
name          | price | inStock
MacBook Pro   | 2499  | true
json
[
  { "name": "MacBook Pro", "price": 2499, "inStock": true }
]

An empty cell becomes null in the output rather than being silently omitted from the object — deliberately, so every record in the resulting array has the same set of keys, which matters if the JSON is headed into a strictly typed language or a schema validator downstream rather than staying dynamically-shaped.

Multi-sheet workbooks

A workbook with several sheets — common when a spreadsheet has grown organically (a "Products" tab, an "Orders" tab, a "Notes" tab someone added later) — needs to convert one sheet at a time, since a single JSON array can only represent one flat table. A sheet picker lets you choose which one, and each converts independently of the others.

Frequently asked questions

No hard limit is enforced by the tool itself, but very large files (tens of thousands of rows) are processed entirely in your browser's memory, so practical limits depend on your device rather than a fixed cap.

A standard .xlsx workbook (Office Open XML) — opens directly in Excel, Google Sheets, LibreOffice Calc, and Numbers with no import wizard or format conversion step needed.

For flat data, yes, cleanly. For data with nested objects or arrays, the round trip is lossy in the sense that the dot-notation columns and stringified array cells become the new "shape" of the data — converting back to JSON reads those dot-notation columns as flat string keys ("address.city") rather than reconstructing the original nested address: { city } object, since the flattening step doesn't retain that structural information for the reverse direction.

Excel's own "Get Data > From JSON" import (Power Query) exists and works, but it requires Excel itself installed and a multi-step import wizard for anything beyond a flat array; this tool does the same conversion in one step in the browser, with no software installation, and covers the reverse direction (Excel back to JSON) in the same interface.

Try JSONKit — JSON Developer Tools

Format, validate, convert and diff JSON. Instant, accurate and 100% private.