How to Convert JSON to Excel (Step by Step)
By SimpleTools24Published 4 min read
To convert JSON to Excel, you need to turn a list of JSON objects into rows and their keys into columns, then save the result as an .xlsx workbook. The quickest way is an online JSON to Excel converter: paste or upload the JSON, check the preview and download the file. Excel can also import JSON itself through Power Query, and a few lines of Python with pandas do the job for repeatable conversions.
In this guide
Whichever method you choose, the tricky part isn't the conversion; it's making sure nested data, long numbers and dates come through intact.
What a Spreadsheet-Friendly JSON Looks Like
The easiest JSON to convert is an array of objects where every object has similar keys:
[
{ "id": 1001, "name": "Ayesha Khan", "city": "Lahore", "active": true },
{ "id": 1002, "name": "Tom Harris", "city": "Leeds", "active": false }
]Each object becomes a row, and each key (id, name, city, active) becomes a column. If one object lacks a key, that cell is simply empty.
Real data is rarely this tidy. API responses wrap records in an outer object ({"data": [...]}), and records often contain nested objects or arrays. Those cases are covered in how to convert nested JSON to Excel and how to export API JSON to Excel.
Method 1: Use an Online JSON to Excel Converter
For a one-off file, an online JSON to Excel converter is the fastest route:
- Paste or upload your JSON. Files can be
.json, or.jsonl/.ndjsonwith one record per line. The JSON is validated as you type, and errors point to the line and column. - Choose the records. If the JSON contains several arrays, pick the one you want, or tick more than one to create a sheet for each.
- Decide how to handle nesting. Flatten nested objects into columns like
address.city, or keep them as JSON text in one cell. Arrays can be joined, expanded into numbered columns, kept as JSON, or moved to their own sheet. - Adjust columns. Include or exclude fields, rename headers and reorder them in the mapping table.
- Download Excel. The result is a genuine
.xlsxfile that opens in Excel, Google Sheets, LibreOffice and Numbers.
The SimpleTools24 converter runs in your browser, so the JSON isn't sent to a server, and it handles files up to 50 MB.
Method 2: Import JSON With Excel's Power Query
Excel for Windows (Microsoft 365, and Excel 2016 or later) can read JSON directly:
- Go to Data → Get Data → From File → From JSON.
- Select the file. Power Query opens with the top-level structure shown as a List or Record.
- Click To Table, then use the expand button (two arrows) in the column header to turn records into columns.
- Repeat expansion for any nested columns.
- Click Close & Load to put the table on a sheet.
Power Query is powerful and refreshable, but expanding nested data step by step takes some practice. How to open a JSON file in Excel walks through it in detail, including what to do on a Mac.
Method 3: Convert With Python
For repeated conversions, a script is reliable and fast:
import json
import pandas as pd
with open("customers.json", encoding="utf-8") as f:
records = json.load(f)
df = pd.json_normalize(records) # flattens nested objects: address.city
df.to_excel("customers.xlsx", index=False) # needs the openpyxl packagejson_normalize flattens nested objects into dotted column names. Arrays inside records stay as Python lists, so you'll need to decide how to handle them, just as with any other method.
Data Types: Where Conversions Go Wrong
JSON and Excel don't share the same types, and that's where data gets damaged:
| JSON value | Ideal Excel result | What can go wrong |
|---|---|---|
42, 3.14 | Number | Stored as text, so formulas fail |
"00742" (string) | Text | Leading zeros dropped if treated as a number |
9007199254740993 | Text | Excel keeps only 15 significant digits |
true / false | Boolean (TRUE/FALSE) | Converted to text |
null | Empty cell | The word "null" appears in the cell |
"2026-10-07" | Date or text | JSON has no date type, so it stays text unless converted |
{...} or [...] | Columns, a sheet, or JSON text | [object Object] or lost values |
Long IDs deserve special attention. Excel stores numbers as double-precision values and displays at most 15 significant digits, so a 16-digit ID can change silently. A careful converter keeps such values as text. If you're comparing formats for your data pipeline, JSON vs CSV vs Excel explains where each one loses information.
Checking the Result
Before you send the spreadsheet on:
- Compare the row count with the number of records in the JSON.
- Spot-check a few rows against the source, including ones with missing fields.
- Check long numeric IDs and leading zeros.
- Make sure numbers are right-aligned (real numbers) rather than left-aligned (text).
Frequently Asked Questions
Can I convert JSON to Excel without Excel installed?
Yes. An online converter creates the .xlsx file in your browser, and you can open it later in Google Sheets or LibreOffice.
What if my JSON is a single object, not an array?
A single object becomes one row. If it contains an array of records, convert that array instead.
Can I convert JSON Lines (JSONL) to Excel?
Yes. Each line is one JSON object and becomes one row.
Is XLSX better than CSV for JSON data?
Usually. XLSX keeps numbers, booleans and multiple sheets, while CSV is plain text with no types.
Summary
Make sure you're converting an array of records, decide how nested data should appear, and protect long numbers and leading zeros. An online converter handles all of that interactively; Power Query and Python suit repeat jobs.
Related tools
Sources
- Import data from a JSON file (Power Query) – Microsoft Support (opens in a new tab)
- RFC 8259 – The JavaScript Object Notation (JSON) Data Interchange Format – IETF (opens in a new tab)
Related articles
- Nested JSON to ExcelFlatten nested objects, handle arrays of values and arrays of objects, and keep relationships intact in Excel.
- Open a JSON File in ExcelImport JSON into Excel with Get Data, expand records and lists into columns, and fix common Power Query errors.
- JSON vs CSV vs ExcelStructure, types, nesting and compatibility compared, with clear guidance on when to use each format.