Skip to content

JSON to Excel Converter

Convert JSON arrays to real .xlsx Excel files in your browser, with a BOM CSV export as a fallback

JSON to a Real Excel File

Paste a JSON array, hit Download .xlsx, and you get an actual Excel workbook — not a CSV with an Excel-friendly extension. The file is a proper .xlsx: a single sheet, your object keys as the header row, one row per record. Double-click it and Excel opens it natively, no import wizard, no encoding prompts.

The whole thing runs in your browser. SheetJS builds the workbook client-side and the download is generated locally, so your data never leaves the page.

Need a plain text export instead? There’s a Download CSV button too. It writes UTF-8 with a BOM (Byte Order Mark) — three invisible bytes at the start that tell Excel “this is UTF-8” so accented characters don’t turn into garbage when Windows Excel guesses the wrong encoding. Handy when whatever’s downstream wants CSV rather than a binary spreadsheet.

Preview the parsed data as CSV on the right before you download either format, so you can catch a bad key or a missing field first.

When You’ll Need This

Cross-team data delivery. Engineering speaks JSON. Sales and finance speak Excel. You’re the bridge. Convert your API response to a downloadable .xlsx that opens straight into Excel, and attach it to the weekly email.

International datasets. Names with accents and umlauts survive both exports. The .xlsx path stores text as UTF-8 inside the workbook, and the CSV path prepends a BOM so Windows Excel reads it as UTF-8 instead of mangling it. The JSON to CSV tool, by contrast, writes plain CSV without the BOM.

Client deliverables. Your client asked for “the data in a spreadsheet.” They don’t want to learn jq. Hand them an .xlsx they can double-click, or a CSV if that’s what their pipeline expects.

How It Works

Paste a JSON array of objects. The tool scans every object, collects all unique keys as column headers, and maps each object to a row. For .xlsx, SheetJS assembles a one-sheet workbook (a ZIP of XML parts under the hood) and triggers the download. For CSV, it joins the same rows into UTF-8 text with a BOM prepended. Preview the data on the right either way before you pull the trigger.

Both files open straight in Excel. Google Sheets and LibreOffice Calc read them too.

How the .xlsx Gets Built in the Browser

A real .xlsx is a ZIP archive of XML parts plus metadata, which is exactly what SheetJS (the xlsx library) produces. The library only loads when you click Download .xlsx, so the roughly 900KB of code stays off the page until you actually need it. No server round-trip, no upload: the workbook is generated locally and handed straight to your browser’s download.

Nested JSON objects and arrays don’t fit in a single cell, so they’re serialized to JSON strings in both exports. If you need flat columns, flatten your JSON before converting.

The Excel to JSON converter does the reverse. Everything runs in your browser.

json excel csv converter download

Related Tools

More in Data Tools