Excel ⇄ JSON Converter
Convert a JSON array of objects to a downloadable .xlsx file, or upload an Excel/CSV file and get a JSON array back.
Nested objects are flattened to dot notation (e.g. address.city); nested arrays of primitives are joined with commas, arrays of objects are stored as a JSON string per cell.
Paste a JSON array of objects and download a real .xlsx workbook — one column per field, nested objects flattened to dot notation, ready to open in Excel, Google Sheets, or Numbers with no import wizard.
- ✓One-click download to a standard .xlsx workbook
- ✓Nested objects flattened to dot-notation columns automatically
- ✓Nested arrays joined or JSON-stringified per cell
- ✓Works the other direction too — Excel/CSV back to JSON
- ✓100% private — the file is built entirely in your browser
Why convert JSON to Excel?
An API response or a database export is JSON, but the person who needs to look at it — a stakeholder, a support team, a finance analyst — works in spreadsheets. This tool turns a JSON array of objects into a real .xlsx workbook with one column per field, so it opens directly in Excel, Google Sheets, or Numbers with no import wizard.
How Nested Data Is Handled
A spreadsheet is flat, so nested JSON needs a flattening rule. Nested objects become dot-notation columns — {"address":{"city":"Surat"}} becomes a column named address.city. An array of primitives (like ["dev","go"]) is joined into one cell as dev, go; an array of objects is stored as a JSON string in the cell, since there's no clean flat representation for a one-to-many relationship inside a single row.
[
{ "name": "Ravi Kumar", "address": { "city": "Surat", "country": "IN" }, "tags": ["dev", "go"] }
]becomes a sheet with these columns:
name | address.city | address.country | tags
Ravi Kumar | Surat | IN | dev, goCommon Use Cases
- ▸Stakeholder reporting — Turn an API response or analytics export into a spreadsheet a non-technical reviewer can open directly
- ▸QA and data review — Hand a QA team a filterable, sortable spreadsheet view of test data or seed records instead of raw JSON
- ▸Finance and ops handoffs — Export order or transaction data to Excel for reconciliation in a tool finance teams already use
- ▸Bulk-edit prep — Export to Excel, make bulk edits with spreadsheet formulas and fill-down, then convert the edited file back to JSON
Reading the Exported File Outside the Browser
The downloaded .xlsx is a standard workbook — no special reader needed. In Python, for example:
# pip install pandas openpyxl
import pandas as pd
df = pd.read_excel("data.xlsx")
print(df.head())
# Back to JSON, if needed further down a pipeline
df.to_json("data.json", orient="records", indent=2)