JSON to Excel Converter
Turn JSON files or pasted JSON into a real .xlsx spreadsheet. Records are found for you, nested objects become columns. Free, and your data is not uploaded.
- Free
- No upload: converted in your browser
- Nested objects to columns
- Real .xlsx file
- JSON Lines and GeoJSON
- No watermark
People also use
JSON to Excel converter free: how to use it
Add your .json file to the box above or paste the JSON into the text area, check the preview, and press Convert to Excel. You get a real .xlsx workbook with one row per record and one column per field, ready to open in Excel, Google Sheets, Numbers or LibreOffice.
This is a JSON to Excel converter free of sign-ups, watermarks and limits on how often you use it. It runs in your browser, so the data is not uploaded anywhere. You can add up to 30 files at once, each up to 50 MB, or paste JSON straight from your editor, your terminal or a browser tab.
- 1
Add your JSON
Tap Select JSON files, drop .json, .jsonl, .ndjson or .geojson files on the box, or paste JSON into the text area next to it.
- 2
Check the preview
Each file shows its number of rows and columns and where the records came from. A table preview shows the first rows.
- 3
Choose the settings
Pick how lists are written (joined with commas or kept as JSON text) and, with several files, one workbook or one per file.
- 4
Convert and download
Press Convert to Excel and download the .xlsx file. You can also save the same table as a CSV file.
The defaults suit almost every file. Add the JSON, look at the preview, press Convert to Excel, done. Your settings are remembered in this browser for next time, and Ctrl + Enter starts the conversion from the keyboard.
An example: from JSON to rows and columns
Here is a short example. The JSON below is a typical response, with the records wrapped in a data field. The tool finds that list, opens up the nested address and joins the tags.
{ "status": "ok", "data": [ { "id": 1, "name": "Asha", "address": { "city": "Pune" }, "tags": ["new", "vip"] }, { "id": 2, "name": "Ben", "phone": "0207 946 0000" } ] }| id | name | address.city | tags | phone |
|---|---|---|---|---|
| 1 | Asha | Pune | new, vip | |
| 2 | Ben | 0207 946 0000 |
The id column holds real numbers. The phone number was a string in the JSON, so it stays text and keeps its leading zero. Ben has no address or tags, so those cells are simply empty, and Asha has no phone, so that cell is empty too. The status field sits outside the list of records, so it does not become a row.
JSON in a nutshell, and how it maps to a sheet
If you do not work with JSON every day, a short tour helps. JSON is plain text made of two building blocks. An object is a set of named values inside curly braces, such as a customer with a name, an email and a city. An array is an ordered list inside square brackets, such as a list of customers.
The values themselves can be text in double quotes, numbers, true or false, null for nothing, or another object or array. That nesting is what makes JSON flexible, and also what makes it awkward in a spreadsheet, which only has rows and columns.
The mapping used here is simple. Each object in the list of records becomes a row. Each named value becomes a column, and the column name is the key. When a value is itself an object, its keys become extra columns with the parent name in front. When a value is a list, it goes into one cell.
| In the JSON | In the spreadsheet |
|---|---|
| Object { } | One row, or extra columns when it sits inside a record |
| Array [ ] | The rows, when it holds the records; one cell when it sits inside a record |
| Key | A column name; nested keys are joined with dots |
| String | A text cell, kept exactly as written |
| Number | A number cell you can calculate with |
| true, false, null | TRUE, FALSE and an empty cell |
Why turn JSON into a spreadsheet?
JSON is the language of web apps and APIs, but it is hard to read when there are hundreds of records. Excel is where most people sort, filter, total and share data. Turning the JSON into a spreadsheet lets anyone on your team work with it, without writing code.
Common reasons are reviewing an export from a web app, checking the output of an API, sharing data with a colleague who does not use a code editor, building a quick report, or comparing two datasets side by side. In each case you want clean rows and columns, not brackets and quotes.
Common uses
Exports from web apps
Many apps, from online shops to form builders and CRMs, export data as JSON. Turn the export into a sheet to review orders, sign-ups or contacts.
Checking API output
Developers and testers can open a response as a table to spot missing fields, wrong values or duplicates far faster than by scrolling through raw text.
Reports for colleagues
Send a workbook instead of a JSON file to people who live in spreadsheets. They can sort, filter and comment without any tools.
Logs and events
JSON Lines logs become a table with one event per row, so you can filter by level, time or user and count what happened.
Map data
GeoJSON feature collections become a list of places with their properties, handy for checking names, categories and IDs before a map goes live.
Data clean-up
Find empty fields, odd values and inconsistent spellings by sorting each column. Fix them in Excel, or go back and fix the source.
JSON to Excel online, with nothing to install
Nothing to install: no add-in, no Power Query steps, no script. Open the page in any modern browser on Windows, Mac, Linux or a Chromebook, add the file and download the workbook.
Even though it is a web page, the conversion itself happens on your own device. The page loads once, and after that the reading, the flattening and the writing of the Excel file all run in your browser. That makes it quick for small files and private for every file.
Common JSON shapes and what you get
JSON files come in a handful of common shapes. Here is what each one turns into.
A plain list of objects
The easiest case. Every object becomes one row, in the order of the file, and every key becomes a column.
A wrapper with a list inside
Responses like status plus data, or meta plus results. The largest list of objects inside is used, and its path is shown in the tool.
A single object
One object with no list of records inside becomes a single row, with one column per field, nested fields included.
A list of plain values
A list of names or numbers becomes one column called value, with one value per row.
JSON Lines
One object per line, common for logs and big exports. Each line becomes a row, exactly like a list of objects.
GeoJSON
A feature collection becomes one row per feature, with columns for the properties and the geometry type.
Which settings should I use?
Most files
Leave the defaults. Lists are joined with commas, and every file gets its own sheet in one workbook.
Lists you want to keep exactly
Choose Keep as JSON text under Lists, so a cell holds the list with its brackets, ready to read back later.
Several exports to compare
Choose One workbook, one sheet per file, then switch between the sheets in Excel.
Files for different people
Choose One workbook per file and download them together as a ZIP.
Letters look wrong
Open More options and pick UTF-8 or Windows (ANSI) under Text encoding.
You also need a CSV
After converting, press Also as CSV to save the same table as a CSV file.
JSON array to Excel: how the records are found
The simplest case for a JSON array to Excel conversion is a file that is just a list of objects, such as [ { ... }, { ... } ]. Every object in the list becomes one row, in the same order as in the file.
Many files wrap the list in an outer object. The tool looks inside and picks the largest list of objects it can find, up to a few levels deep, and the file line in the tool tells you where it came from, for example Records from data or Records from response.items. If a file holds a single object and no list, you get one row.
A list of plain values, such as a list of names or numbers, also works: each value becomes a row in a column called value.
Nested JSON to Excel: objects become columns
Real JSON is rarely flat. A customer has an address, the address has a city, an order has a total with a currency. To handle this, the tool opens up every nested object and gives each inner field its own column, named with dots: address.city, address.zip, total.amount, total.currency.
This works at any depth, so a field three levels down becomes a column such as customer.address.city. You can then sort and filter by city in Excel like any other column, and the nested JSON to Excel table stays one clean row per record.
Lists inside a record are handled in one of two ways, which you choose under Nested data. Join with commas turns a list of simple values such as [ new, vip ] into one cell that reads new, vip. Keep as JSON text writes the list exactly as JSON, brackets and all. A list that contains objects is always kept as JSON text, so no information is lost.
How the JSON to Excel table is built
The tool reads every record and collects every key that appears in any of them. Each key becomes a column, in the order it was first seen. A record that lacks a key simply gets an empty cell in that column, so records with different shapes still line up.
Values keep their type. Numbers in the JSON become real Excel numbers you can add up, and strings stay text, even when they look like numbers. That means IDs, postcodes and phone numbers written as strings keep their leading zeros. true and false become Excel TRUE and FALSE values, and null becomes an empty cell.
Dates and timestamps
JSON has no date type, so dates arrive as strings such as 2026-10-14 or 2026-10-14T09:30:00Z, or as numbers that count seconds or milliseconds since 1970. Strings stay text in the workbook, exactly as written, so nothing is changed behind your back.
To turn them into real Excel dates, select the column and use Data, then Text to Columns, and choose a date format, or use a formula such as =DATEVALUE(LEFT(A2,10)) for the date part. For a timestamp in milliseconds, =A2/86400000+DATE(1970,1,1) gives the date and time; for seconds, divide by 86400 instead. Then apply a date format to the cells.
JSON to XLSX: what the Excel file looks like
A JSON to XLSX conversion here makes a genuine Office Open XML workbook, the same format Excel saves by default. It is not a CSV file with an .xlsx name, so it keeps its formatting and opens without any import dialog.
The header row is bold with a light fill, frozen so it stays in view as you scroll, and has filters switched on, so you can sort and filter any column right away. Column widths are sized to fit the content, up to a sensible maximum, so the sheet is readable as soon as it opens.
| Part of the sheet | What you get |
|---|---|
| Header row | Bold, filled, frozen, with filters on every column |
| Numbers | Real Excel numbers, right-aligned, ready for SUM and charts |
| Strings | Stored as text, so leading zeros and long IDs are kept |
| true / false | Excel TRUE and FALSE values |
| null or missing | Empty cells |
| Column widths | Sized to the content |
| Sheet name | Taken from the file name |
Working with the data in Excel
Once the workbook is open, the usual Excel tools work straight away. Click the arrow in any header cell to sort or filter that column, for example to show only orders from one city or only users who signed up this month.
Because numbers are real numbers, formulas such as SUM, AVERAGE and COUNTIF work on them without any clean-up. Select the data and choose Insert, then PivotTable, to total sales by product or count records by status in a few clicks. Charts work the same way.
If you want banded rows and a table name, select any cell and press Ctrl + T to format the range as an Excel table. Conditional formatting is handy for spotting empty cells or values out of range, and Remove Duplicates on the Data tab finds repeated records.
Google Sheets, Numbers and LibreOffice
The workbook is a standard .xlsx file, so it is not tied to Microsoft Excel. In Google Sheets, open Drive, upload the file and open it with Google Sheets, or choose File, then Import, inside an existing sheet. The header row, the numbers and the text cells come across as they are.
On a Mac or an iPhone, Apple Numbers opens the file directly; just double-click it or tap it in the Files app. LibreOffice Calc and OnlyOffice open it too, on Windows, Mac and Linux, which makes it a good choice when you share data with people who use different programs.
Each app shows the frozen header and the filters in its own way, but the data is the same everywhere: one row per record, one column per field, and numbers you can calculate with. If someone only needs to read the data, a PDF of the sheet is often easier to send than the workbook.
JSON to CSV and Excel from one conversion
Sometimes you need both formats: Excel for people and CSV for another program or a database import. This page gives you JSON to CSV and Excel from the same conversion. After you press Convert to Excel, the Also as CSV button saves the table of the first file as a comma-separated CSV file with the same columns.
The CSV is saved as UTF-8 with a byte order mark, so Excel shows accents and other alphabets correctly when you open it. If you only ever need CSV, the dedicated JSON to CSV page is a little more direct.
API JSON to Excel: data, results and other wrappers
An API JSON to Excel conversion is one of the most common jobs. Most APIs do not return a bare list. They return an object with the records inside a field such as data, results, items or records, next to fields like status, page or total.
You do not need to dig the list out by hand. Save the response as a .json file, or copy it from your browser, Postman or the terminal and paste it in. The tool finds the largest list of records inside and shows you its path, so you can see at a glance that the rows came from results and not from somewhere else.
The tool does not call the API for you and does not fetch URLs. You bring the JSON, it makes the spreadsheet. That keeps API keys and private data out of the conversion entirely. If the API splits results into pages, save each page as its own file and add them together; each page becomes a sheet.
Excel's own JSON import (Power Query) or this page?
Excel can also read JSON itself. In Excel for Windows and recent Excel for Mac, choose Data, then Get Data, then From File, then From JSON. Power Query opens the file, and you click To Table, then expand the record columns, and expand again for each nested level, before loading the result into a sheet.
That route is worth learning if you refresh the same feed every week, because Power Query can repeat the steps for you. For a one-off file, a quick look at an export, or a computer without Power Query, this page is faster: the nested fields are expanded for you, every key becomes a column, and the header row is ready to filter.
JSON, JSON Lines and GeoJSON files
Ordinary .json files are the main input, whether they hold a list, an object, or a response with the records tucked inside. Pasted JSON works the same way.
JSON Lines files (.jsonl or .ndjson) have one JSON object per line, which is common for logs and data exports. If a file is not one single JSON document, the tool reads it line by line, so each line becomes a row.
GeoJSON files (.geojson) are read as well. In a feature collection the features list becomes the rows, with columns such as properties.name and geometry.type. Coordinates are written as JSON text in one cell.
Large JSON to Excel: file sizes and Excel limits
For large JSON to Excel jobs, each file can be up to 50 MB, and you can add up to 30 files at a time. Because the work happens in your browser, the speed depends on your computer or phone; a few megabytes usually take a moment, and very large files take longer on older devices.
Excel itself has limits that no converter can get around: 1,048,576 rows and 16,384 columns per sheet, and 32,767 characters per cell. If your data has more rows or columns than that, the tool tells you before it starts instead of making a broken file. Very long text in a single cell is cut at the cell limit.
If a file is too big for one sheet, split it into smaller JSON files first and add them together; each one becomes its own sheet.
Several JSON files: one workbook or many
Add several JSON files at once and choose how they come out. One workbook, one sheet per file puts everything in a single .xlsx, with each sheet named after its file. One workbook per file gives you separate .xlsx files, downloaded together as a ZIP.
Sheet names follow Excel rules: up to 31 characters, without the characters Excel does not allow, and with a number added when two files have the same name. You can also add -excel to the end of each file name under More options.
Preparing your JSON for a tidy sheet
A little preparation gives a tidier sheet. If a response holds several lists and you only want one of them, paste just that part, starting with the opening square bracket of the list. The tool always takes the largest list of objects, so trimming the input is the way to choose a smaller one.
If every record carries fields you never need, such as internal IDs or long descriptions, you can remove them in your editor first, or simply hide or delete those columns in Excel afterwards. Both give the same result; deleting columns in Excel is usually quicker.
Watch out for numbers that are sent as strings, such as prices written in quotes. They stay text on purpose, because the tool never guesses. In Excel, select the column and use the small warning icon to convert them to numbers if you want to add them up.
When the JSON is not valid
If the JSON is not valid, the file line in the tool says so instead of producing an empty sheet. Where your browser reports it, the message includes the character position of the problem, such as problem near character 1532, so you can jump straight to it in your editor.
The usual causes are a missing comma between records, a trailing comma after the last item, single quotes instead of double quotes, or comments, which JSON does not allow. A JSON Formatter makes the problem easy to find and fix, and then the file converts as normal.
Convert on iPhone and Android
This also works on an iPhone or Android phone, with no app to install. Open the page in Safari or Chrome, tap Select JSON files and pick the file from Files, Google Drive or your downloads, or paste JSON you copied.
Press Convert to Excel and save the workbook. It opens in the Excel app, Google Sheets or Numbers. Phones have less memory than computers, so for very large files a computer is the better choice.
JSON to Excel online free, and your data stays private
Your JSON is not uploaded. Reading the file, finding the records, flattening nested data and writing the Excel file all happen in your browser, on your own device. That matters for customer lists, order exports, logs and anything else you would not want on someone else's server.
So JSON to Excel online free here does not mean trading your data for the service. There is no account, no watermark and no limit on how many times you convert.
How it works
When you add a file, the browser reads it as text. The tool first tries to read it as one JSON document; if that fails, it tries JSON Lines, one record per line. Then it looks for the list of records, flattens each record into columns with dot names, and collects every key into the header row.
The workbook is written directly as an .xlsx file in your browser, with the header styling, frozen row, filters and column widths set. Text encoding is detected automatically; if letters look wrong, you can choose UTF-8 or Windows (ANSI) under More options.
How this converter compares
Excel can import JSON through Power Query, and many websites convert it too. Here is how this page compares on what matters.
| What to check | FlipMyFormat | Typical converter |
|---|---|---|
| Your data uploaded to a server | No, converted in your browser | Usually yes |
| Finds the records inside a response | Yes, and shows the path | Sometimes |
| Nested objects to columns | Yes, with dot names | Sometimes |
| Every key becomes a column | Yes, from every record | Often only the first record |
| Numbers and text kept apart | Yes, strings stay text | Often guessed |
| Frozen, filtered header row | Yes | Rarely |
| Several files in one workbook | Yes, a sheet each | Rarely |
| JSON Lines and GeoJSON | Yes | Sometimes |
| Sign-up or watermark | No | Sometimes |
Common problems and fixes
It says the JSON is not valid
Look near the character position in the message for a missing or extra comma, or single quotes. A JSON Formatter helps.
I only get one row
The file holds a single object with no list of records inside. Each object in a list becomes a row.
The wrong list was used
The tool picks the largest list of objects. Paste only the part you want, such as the value of the field that holds your records.
A column holds JSON text
That field is a list of objects. It is kept as JSON text so nothing is lost; use separate files for those inner lists if you need them as rows.
Letters look wrong
Open More options and choose UTF-8 or Windows (ANSI) under Text encoding.
There are too many columns
Every key in every record becomes a column. Remove fields you do not need from the JSON first, or hide columns in Excel.
A number shows as text
It was a string in the JSON, written with quotes. Strings stay text on purpose, so IDs keep their exact form.
The file is too large for Excel
Excel holds 1,048,576 rows per sheet. Split the JSON into smaller files; each becomes its own sheet.
Tips for a clean spreadsheet
Check the preview before you convert. It shows the first rows and columns, so you can see at once whether the right list was found.
If a response has several lists and you want a smaller one, paste just that part. The tool always picks the largest list of objects.
Keep numbers as numbers in your JSON if you want to add them up in Excel, and as strings if they are codes that must keep their exact form.
Keep the original JSON. The workbook is a new file, so you can always convert again with other settings.
What to do with your spreadsheet next
Once you have the workbook, you can sort, filter and chart the data in Excel. To share a read-only copy, Excel to PDF turns the sheet into a tidy PDF.
Working the other way round? CSV to Excel turns CSV files into the same kind of clean workbook, CSV to JSON goes back from rows to JSON, and PDF to Excel pulls tables out of PDF files. All of them are listed under Data Tools.
Frequently asked questions
How do I turn a JSON file into an Excel spreadsheet?
Add your .json file to the box on this page, or paste the JSON, then press Convert to Excel and download the .xlsx file. Each record becomes a row and each field becomes a column.
Is this JSON to Excel converter free?
Yes. It costs nothing, with no sign-up, no watermark and no limit on how often you convert. There is no paid version with extra features either.
Is my JSON uploaded to a server?
No. The file is read and converted in your browser, so it stays on your device. That makes it suitable for customer data, exports and logs.
Do I need to install anything?
No. It works in any modern browser on Windows, Mac, Linux, Chromebook, Android and iPhone. There is no add-in, app or extension to install.
Is it really JSON to Excel online free, with no catch?
Yes. There is no account, no upload and no watermark, because the conversion runs on your own device rather than on a paid server.
Does it make a real XLSX file?
Yes. The JSON to XLSX conversion makes a genuine Excel workbook with a bold, frozen, filtered header row and sized columns, not a renamed CSV file.
How does nested JSON to Excel work?
Every nested object is opened up into columns named with dots, such as address.city or total.amount, at any depth. Each record still takes exactly one row.
What happens to lists inside a record?
Lists of simple values are joined with commas by default, or kept as JSON text if you choose. Lists of objects are always kept as JSON text, so nothing is lost.
Can I convert a JSON array to Excel?
Yes. Every object in the array becomes one row, in the same order as in the file, and every key becomes a column.
How is the JSON to Excel table built?
There is one column for every key that appears in any record, in the order the keys are first seen. Records without a key get an empty cell there.
Can I get JSON to CSV and Excel at the same time?
Yes. Download the .xlsx, then press Also as CSV to save the first file's table as a CSV file with the same columns.
How do I convert API JSON to Excel?
Save or paste the response. The tool finds the list of records inside fields such as data or results and shows the path it used, so you can check it.
Does the tool fetch data from a URL or call an API?
No. It does not fetch URLs or call APIs. You add a file or paste the JSON yourself, which keeps API keys out of the process.
Can I convert large JSON to Excel?
Yes. Each file can be up to 50 MB and you can add up to 30 files. Excel itself holds up to 1,048,576 rows and 16,384 columns per sheet.
Are numbers kept as numbers?
Yes. Numbers in the JSON become real Excel numbers. Strings stay text, so IDs and phone numbers keep their leading zeros.
What happens with invalid JSON?
The tool shows a clear error instead of an empty file, usually with the character position of the problem so you can find and fix it quickly.
Does it support JSON Lines and NDJSON?
Yes. Files with one JSON object per line, such as .jsonl and .ndjson, are read line by line, and each line becomes a row.
Can I convert GeoJSON files?
Yes. In a feature collection each feature becomes a row, with columns such as properties.name and geometry.type. Coordinates are kept as JSON text.
Can I convert several JSON files at once?
Yes. Add up to 30 files and choose one workbook with a sheet per file, or one workbook per file downloaded together as a ZIP.
How do I turn date strings into real Excel dates?
Dates stay text, exactly as written. In Excel, use Text to Columns with a date format, or a formula such as DATEVALUE, then apply a date format.
Does the Excel file open in Google Sheets and Numbers?
Yes. The .xlsx file opens in Excel, Google Sheets, Apple Numbers and LibreOffice Calc, with the same columns and values.
Turn your JSON into a spreadsheet now
Free, private and instant. Your data stays on your device.
Add your JSONLast updated October 2026 · Written and maintained by the FlipMyFormat team