JSON to XLSX Converter
Convert JSON to an XLSX workbook. Upload a .json file or paste your data. The file is built on your own device and never uploaded.
Drop a JSON file here
or click to browse — .json files
Your Excel file is ready
100% Private
Your JSON is converted locally in your browser — nothing is uploaded.
Fast
No waiting on uploads. Everything runs on your device.
Free & Unlimited
No account, no watermark, no file limits.
How to convert JSON to Excel
Three quick steps. Nothing to install.
Add your JSON
Drop a .json file or click to browse, or switch to Paste JSON and paste your data into the box.
Choose how to flatten
Leave Flatten nested objects on to turn address.city into its own column, then press Convert to Excel. Lists of objects become rows.
Check & download
Look at the row, column and sheet counts and the preview, then download your .xlsx file.
Why convert JSON to XLSX?
XLSX is the standard Excel format. It opens in Microsoft Excel, Google Sheets, LibreOffice and Apple Numbers, so people who do not work with code can sort, filter and chart your data.
This tool writes a real .xlsx file with column widths set to fit the content. It creates .xlsx only, not the older .xls format and not CSV.
More JSON to Excel options
Why convert JSON to Excel?
JSON is how most apps and APIs hand over data, but it is hard to read, sort or filter as plain text. In a spreadsheet you can search it, sort it, build charts and share it with people who do not work with code. This tool turns a list of records into rows and columns in one step.
The conversion runs in your browser. Your JSON is not uploaded to a server, so API responses and private data stay on your device.
How this tool builds your spreadsheet
- A list of objects becomes rows. Each object is one row, and each key becomes a column. If the objects do not all have the same keys, the columns cover all of them.
- Nested objects can be flattened. With the option on, {"address":{"city":"Paris"}} gives a column called address.city. With it off, the nested object is saved as JSON text in a single cell.
- Lists inside a record are kept in one cell. A list of simple values, such as tags, is joined with commas when flattening is on. A list of objects is kept as JSON text.
- An object holding several lists makes several sheets. Each top-level list of objects becomes its own sheet, named after its key.
- A single object becomes one row. If it holds no lists of objects, it goes on Sheet1 as one row.
- You see a summary and a preview. The tool shows the total rows, the number of different columns and the number of sheets, plus the first 10 rows of the first sheet.
- The file is named after your upload. orders.json becomes orders.xlsx. Pasted JSON is saved as data.xlsx. Column widths are set to fit the content.
Limits to know
- The JSON must be valid. If it is not, you will see a message with an example. Common causes are trailing commas, single quotes instead of double quotes, and missing brackets.
- Only lists of objects become separate sheets. When an object holds at least one, its other keys, such as a plain list of numbers or a single value, are not added to the file.
- The preview is short. It shows the first 10 rows of the first sheet and up to 30 columns. The downloaded file contains everything.
- Sheet names are cleaned up. Excel does not allow some characters and limits a name to 31 characters, so keys are adjusted to fit.
- Deep structures stay as text. Lists of objects inside a record are not split into more rows, so you may need to convert those parts separately.
- An internet connection is needed once. The Excel library is loaded from a content delivery network when you convert.
- There is no size limit on our side. Very large files depend on your device's memory.
Tips for better results
- Start with a list of objects. A shape like [{"name":"Ana"},{"name":"Raj"}] gives the cleanest spreadsheet.
- Try both flatten settings. Flattening is best for analysis. Switch it off if you want nested data kept intact as JSON text.
- Pasting is quicker for small snippets. Use Paste JSON for an API response you copied, and Upload for saved files.
- Need CSV instead? Download the sheet, then use XLSX to CSV. To go from CSV back to Excel, use CSV to XLSX.
- Want a PDF copy of the table? XLSX to PDF turns the spreadsheet into a document.
- Data is in a picture or a PDF? Image to Excel (OCR) reads tables from images, and PDF to Excel handles PDFs.
Frequently asked questions
Quick answers about convert JSON to Excel with ConvertKit Lite.
Is it safe to convert my JSON here?
Yes. Conversion runs in your browser, so your data is not uploaded to a server.
What JSON structure works best?
A list of objects, like [{"name":"Ana"},{"name":"Raj"}], gives one row per object. If your JSON is an object holding several lists, each list becomes its own sheet.
What happens to nested data?
With flattening on, nested objects become columns like address.city. Lists of simple values are joined with commas, and lists of objects are kept as JSON text in one cell.
Is there a size limit?
No limit on our side. Very large files depend on your device memory.
Can I paste JSON instead of uploading a file?
Yes. Switch to Paste JSON, paste your data into the box and press Convert to Excel. Pasted data is saved as data.xlsx.
Which files can I upload?
Files ending in .json. A plain .txt file is also accepted: if it is not valid JSON, each line of text becomes a row with a line number and the text.
What happens if my records have different keys?
Each different key becomes a column. A record that does not have a key simply leaves that cell empty.
What does Flatten nested objects do?
When it is on, nested objects are spread into columns with dotted names such as address.city. When it is off, each nested object or list is saved as JSON text in one cell.
Why do some cells contain text that looks like JSON?
Lists of objects, and any nested data when flattening is off, are kept as JSON text in one cell so no information is lost.
How do I get several sheets?
Use a JSON object whose keys hold lists of objects, such as {"users":[...],"orders":[...]}. Each of those lists becomes a sheet named after its key.
Why are some keys missing from my file?
When an object holds one or more lists of objects, only those lists are turned into sheets. Other keys at the top level, such as plain values or lists of numbers, are not included.
What do Rows, Columns and Sheets mean in the result?
Rows is the total number of rows across all sheets. Columns is the number of different column names found. Sheets is how many sheets the file will have.
Does the preview show everything?
No. It shows the first 10 rows of the first sheet and up to 30 columns. The downloaded file contains all the data.
What does the message about no rows mean?
The JSON was valid but there was nothing to turn into rows, for example an empty list. Check that your data has at least one record.
What if my JSON is not valid?
Look for trailing commas, single quotes where double quotes are needed, and missing brackets or braces. Fix them and try again, or paste the JSON into the box to edit it there.
Can I convert a list of plain values?
Yes. A list such as [1,2,3] becomes a single column named value, with one row per item.
Does this create XLS or XLSX files?
It creates XLSX files. XLSX is the current Excel format and opens in Excel, Google Sheets, LibreOffice and Numbers.
Can Google Sheets open the converted file?
Yes. Upload the .xlsx file to Google Drive and open it with Google Sheets.