FlipMyFormat

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.

Select JSON files

JSON, JSON Lines (.jsonl) or GeoJSON · up to 30 files

Converted in your browser. Your data is not uploaded.

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. 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. 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. 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. 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" } ] }
The sheet you get
idnameaddress.citytagsphone
1AshaPunenew, vip
2Ben0207 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 JSONIn 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
KeyA column name; nested keys are joined with dots
StringA text cell, kept exactly as written
NumberA number cell you can calculate with
true, false, nullTRUE, 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 sheetWhat you get
Header rowBold, filled, frozen, with filters on every column
NumbersReal Excel numbers, right-aligned, ready for SUM and charts
StringsStored as text, so leading zeros and long IDs are kept
true / falseExcel TRUE and FALSE values
null or missingEmpty cells
Column widthsSized to the content
Sheet nameTaken 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 checkFlipMyFormatTypical converter
Your data uploaded to a serverNo, converted in your browserUsually yes
Finds the records inside a responseYes, and shows the pathSometimes
Nested objects to columnsYes, with dot namesSometimes
Every key becomes a columnYes, from every recordOften only the first record
Numbers and text kept apartYes, strings stay textOften guessed
Frozen, filtered header rowYesRarely
Several files in one workbookYes, a sheet eachRarely
JSON Lines and GeoJSONYesSometimes
Sign-up or watermarkNoSometimes

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 JSON

Last updated October 2026 · Written and maintained by the FlipMyFormat team