Why a workbook instead of a CSV
When the person receiving your data is going to open it in Excel, give them an Excel file. A CSV depends on the delimiter and encoding their copy of Excel happens to expect; an .xlsx carries none of that baggage. It opens the same way on a French laptop and an American one, it keeps its types, and it is ready for filters, pivot tables and conditional formatting. For the many cases where a plain text file is required, JSON to CSV exists; for sharing with humans, this tool is the better default.
A worked example
{
"orders": [
{ "id": 5001, "customer": { "name": "Priya", "email": "p@example.com" }, "total": 149.5, "items": ["lamp", "bulb"] },
{ "id": 5002, "customer": { "name": "Tom" }, "total": 80 }
]
} The wrapper object is unwrapped, and the sheet comes out like this:
| id | customer.name | customer.email | total | items |
|---|---|---|---|---|
| 5001 | Priya | p@example.com | 149.5 | ["lamp","bulb"] |
| 5002 | Tom | 80 |
Nested customer fields became dotted columns, the items array was written as JSON text, and Tom's missing email and items are empty cells. Columns appear in the order the keys were first encountered. Because JSON already distinguishes numbers from strings, the workbook keeps that distinction: total is numeric and can be summed, while a string like "00123" stays text with its zeros.
Input shapes
- An array of objects, straight from most REST endpoints.
- An object with a single property containing that array — the
data,resultsoritemsenvelope that paginated APIs return. The envelope is removed automatically. - An object of objects, keyed by ID, as Firebase Realtime Database exports and some config files are.
Where the JSON usually comes from
Stripe, Shopify, GitHub and HubSpot APIs; a Postman collection run; MongoDB's mongoexport; the "Copy response" button in Chrome's Network panel; log aggregators; a Firebase backup. In each case someone outside engineering eventually asks for "that in a spreadsheet", and this converter answers that request without a script or a server.
Limits and privacy
Each JSON file becomes one workbook with one sheet. Batches of up to five files are free, with a progress bar per file, and the ZIP behind "Download all" is built on your device. Large exports are limited by your device's memory, since the JSON and the workbook are both held in RAM. Nothing is uploaded, logged or stored: the parsing and the .xlsx writing both run in your browser. To read a workbook back into code, Excel to JSON reverses the process, and CSV to Excel starts from a text export instead.