JSON to Excel
A JSON to Excel converter turns a JSON array of records into a spreadsheet you can open in Microsoft Excel, Google Sheets, LibreOffice Calc, or Numbers. This one builds a genuine .xlsx workbook in your browser tab: each object becomes a row, each key becomes a column, and nested objects flatten into dot-path columns such as deposit.amount. The JSON is never uploaded or written to localStorage.
Updated
Paste JSON or drop a .json file, check the preview, then press Download .xlsx. The page accepts an array of objects, a single object, an array of plain values, a wrapper object such as {"data": [...]} (it picks the first array of records), or JSON Lines with one object per line. Columns are the union of keys across all records in first-seen order, so records with missing keys simply get blank cells. Arrays inside a record are written as compact JSON text in one cell rather than exploding into extra rows.
Plain numbers become numeric cells; strings that only look like numbers — PIN codes such as "600001" stay as typed, while "007", +91 phone numbers, and IDs over 15 digits are kept as text so Excel does not drop zeros or show 1.23E+15. Cells starting with = are stored as text, not formulas. Invalid JSON gets an honest in-page error. One canonical URL with a trailing slash and no /in/ prefix; SAMPLE examples use Indian cities and fake INR amounts.
Paste a JSON array of objects, a wrapper like {"data": [...]}, or JSON Lines, or drop a .json file — read in this tab, never uploaded.
Optional .json / .jsonl drop. Read with FileReader — never uploaded.
Need plain CSV instead? Use JSON to CSV. Already have CSV? Use CSV to Excel.
How does the JSON to Excel work?
1. Paste or drop JSON
Paste an array of objects, a {"data": [...]} wrapper, or JSON Lines, or drop a .json file. FileReader reads it in this tab — nothing is uploaded.
2. Choose flatten and number options
Flatten nested objects is on by default, so {"deposit": {"amount": 1}} becomes a deposit.amount column. Untick it to keep nested objects as JSON text. Plain numbers become numeric cells unless you untick number detection.
3. Check the preview
The first 10 rows show exactly what the sheet will contain, with the header row bold. The status line says how many records and columns were found and which array they came from.
4. Download .xlsx
The page writes a one-sheet Office Open XML workbook in memory and saves it with your file name. Closing the tab drops the data.
Questions about JSON to Excel
- How do I convert JSON to Excel?
- Paste your JSON into the box (or drop a .json file), check the preview table, and press Download .xlsx. Each object in the array becomes a row and each key becomes a column. The workbook is built in this browser tab and saved to your device — no account, no email, no upload. Open it in Excel, Google Sheets, LibreOffice Calc, or Numbers.
- How are nested JSON objects and arrays handled?
- Nested objects are flattened into dot-path columns: {"deposit": {"amount": 100000}} becomes a column named deposit.amount. Arrays inside a record, such as tags: ["fd", "sample"], are written as compact JSON text in a single cell so one record stays one row. Untick Flatten nested objects to keep every nested object as JSON text in its top-level column.
- What JSON shapes does it accept?
- An array of objects (the usual API export), a single object (one row), an array of plain values (one value column), a wrapper object such as {"total": 2, "data": [...]} where the first array of objects becomes the rows, and JSON Lines / NDJSON with one object per line. Records with different keys are fine — columns are the union of all keys and missing values stay blank.
- Is the download a real .xlsx file?
- Yes. The page writes the Office Open XML parts Excel expects — content types, workbook, styles, and one worksheet — and packs them into a standard ZIP, so Excel opens it without a format warning. It uses the same in-page writer as our CSV to Excel converter, with no server and no third-party spreadsheet library.
- Does JSON to Excel upload my data?
- No. Parsing and the .xlsx build both run in your browser. Dropped files are read with FileReader in this tab; we do not send them to Page Utils, to a conversion API, or to localStorage. Closing the tab drops the data. Hosting logs may show that you loaded the page, not the JSON you converted.
- Will leading zeros, phone numbers, and long IDs survive?
- Yes. JSON numbers and plain decimal strings become numeric cells, but values with leading zeros ("007"), a + sign (+919876543210), more than 15 digits, spaces, or letters are stored as text, so Excel does not drop zeros or show 1.23E+15. Untick Store plain numbers as numbers to keep every cell as text.
- Are there size or row limits?
- Excel allows 1,048,576 rows and 16,384 columns per sheet and 32,767 characters per cell; the page refuses data over the row or column limit and tells you if it had to cut an over-long cell. In practice browser memory is the bigger limit — files of a few MB convert quickly, very large exports may be slow. The .xlsx is stored uncompressed, so it can be larger than the JSON.
- Can I get CSV instead, or convert Excel back to JSON?
- For plain CSV use JSON to CSV at /file-conversion/json-to-csv/. To go the other way, export a sheet with Excel to CSV at /file-conversion/excel-to-csv/ and then use CSV to JSON at /file-conversion/csv-to-json/. Each runs in the browser with no upload.
What else can I open?
- JSON to CSVConvert JSON to CSV (and back) entirely in the browser.
- JSON Schema GeneratorGenerate a JSON Schema from a JSON sample in the browser — no upload.
- CSV to ExcelBuild a real .xlsx workbook locally in your browser.
- Excel to CSVRead .xlsx sheets locally and download CSV.
- CSV to JSONConvert CSV to pretty JSON locally in your browser.
- JSON to XMLConvert JSON into XML locally in your browser.
These tools run in your browser. Page Utils does not store, upload, or write to localStorage the keys, tokens, or text you paste. Results are a convenience aid, not legal, tax, or security advice.