Quick preview: same data, two formats
Paste your JSON array into the tool above and download a ready-to-open .xlsx spreadsheet in seconds — nothing is uploaded, everything runs in your browser.
| JSON input | Excel output (row view) | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
The converter auto-detects numbers (so 30 lands as a real Excel number, not text), keys become column headers, and each object becomes one row. Your data never leaves your device.
Convert JSON to Excel in seconds
Got a JSON array from an API response, a database export, or a config file — and need it in a spreadsheet? Paste it above and hit Download .xlsx. You get a properly formatted Excel file with column headers already in place, ready to open, sort, and filter.
No account needed, no file size caps buried in a paywall, and nothing is sent to a server. The entire JSON to Excel conversion happens inside your browser.
How to use it
- Paste your JSON into the input box. It should be an array of objects — like the example above.
- Check the preview. The tool renders your data as a table so you can catch any issues before downloading.
- Click "Download .xlsx" (or copy as CSV if you just need the raw values). Your file saves instantly.
- Open in Excel, Google Sheets, or LibreOffice. Headers and data types come through correctly.
Worked example
Say you pull order data from an API and the response looks like this:
[
{ "order_id": 1001, "customer": "Priya Sharma", "total": 149.99, "status": "shipped" },
{ "order_id": 1002, "customer": "Carlos Ruiz", "total": 39.50, "status": "pending" },
{ "order_id": 1003, "customer": "Mei Lin", "total": 275.00, "status": "shipped" }
]After conversion, your .xlsx file has four columns — order_id, customer, total, status — with each order on its own row. The total values are stored as real numbers, so you can SUM them in Excel without any extra steps. String fields like status stay as text.
How to do this in Python or JavaScript
If you need to automate the conversion in code, here are minimal working examples.
Python (pandas)
import pandas as pd
import json
data = [
{"order_id": 1001, "customer": "Priya Sharma", "total": 149.99, "status": "shipped"},
{"order_id": 1002, "customer": "Carlos Ruiz", "total": 39.50, "status": "pending"},
]
df = pd.DataFrame(data)
df.to_excel("orders.xlsx", index=False)
# Requires: pip install pandas openpyxlThe index=False argument stops pandas from adding a row-number column you didn't ask for. The openpyxl library handles the actual .xlsx writing.
JavaScript (Node.js, ExcelJS)
const ExcelJS = require('exceljs');
const data = [
{ order_id: 1001, customer: 'Priya Sharma', total: 149.99, status: 'shipped' },
{ order_id: 1002, customer: 'Carlos Ruiz', total: 39.50, status: 'pending' },
];
async function jsonToExcel(rows, filename) {
const workbook = new ExcelJS.Workbook();
const sheet = workbook.addWorksheet('Orders');
sheet.columns = Object.keys(rows[0]).map(key => ({ header: key, key }));
rows.forEach(row => sheet.addRow(row));
await workbook.xlsx.writeFile(filename);
}
jsonToExcel(data, 'orders.xlsx');
// Install: npm install exceljsFor a one-off conversion you don't need any code at all — just use the tool above. These snippets are handy when you're building a pipeline or automating exports on a schedule.
How it works
The converter reads your JSON, flattens the top-level array into rows, and collects every unique key across all objects to build the column list. Values are typed automatically — numbers stay as numbers, strings stay as text, and null becomes an empty cell.
The resulting file uses the Office Open XML format (the standard behind .xlsx, defined by ECMA-376). That means it opens natively in Excel, Google Sheets, LibreOffice Calc, and Numbers without any plugins or conversions.
Everything runs client-side in your browser. No data is transmitted, stored, or logged anywhere.
When to use this tool — and when not to
| Use it when... | Consider another approach when... |
|---|---|
| You need a quick, shareable spreadsheet from an API or export | Your JSON is deeply nested (3+ levels) — you may need to flatten it first |
| Your JSON is a flat array of objects (the most common format) | You need multiple worksheets or complex Excel formulas baked in |
| You want Excel-native number formatting (SUM, filters, pivot tables) | You only need plain text and CSV is fine — use the CSV output instead |
| You're on a shared computer and can't install software | You're automating daily exports — use pandas or ExcelJS in a script |
Before you convert: make sure your JSON is valid
If the preview shows an error, your JSON might have a typo — a trailing comma, a missing bracket, or unquoted keys. Run it through our JSON Validator to find and fix the issue first. You can also use the JSON Beautifier to indent and clean it up so problems are easier to spot.
Once it's valid and readable, drop it back here to export it to Excel. If you want to inspect or share it first, the JSON Viewer lets you explore the structure interactively. Need to strip whitespace before piping it through an API? The JSON Minifier compresses it in one click.
Paste your JSON above, hit download, and your spreadsheet is ready. That's all there is to it.