JSON to Excel converter

Turn an array of JSON objects into an XLSX spreadsheet.

Runs in your browser. Your files never leave your device.

How to convert JSON to Excel

  1. Paste or upload your JSON.
  2. Check the preview table.
  3. Click to download the XLSX file.

Example: JSON in, spreadsheet columns out

JSONColumnCell value
{"name":"Sam"}nameSam
{"user":{"city":"NY"}}user.cityNY
{"score":95.5}score95.5, typed as a number

Tips for a clean spreadsheet

  • Keep every object's keys similar. A field missing from one row just leaves that cell blank instead of shifting other columns.
  • When pasting from an API response, copy only the array itself, not a wrapper object like {"results": [...]}.
  • A number written as a JSON string, like a phone number "2025550147", stays text in the spreadsheet, since only real JSON numbers get typed as Excel numbers.

Where this beats copying into Excel by hand

  • API responses and exported JSON logs that are awkward to reformat manually.
  • Nested config or settings files, turned into one flat row per entry.
  • Test data or fixtures you want to eyeball as a spreadsheet before using them.
  • Sharing structured data with a coworker who is comfortable in Excel but not with raw JSON.

JSON to Excel FAQ

What shape of JSON does this expect?

An array of objects, one object per row. A single object also works and is treated as one row.

What happens to nested objects?

They are flattened into dot separated column names. A nested address object under a user becomes columns like user.address.city.

Is there a row limit?

No fixed limit, though very large arrays depend on your browser's available memory.

Can I upload a file instead of pasting?

Yes. Use the upload button next to the text box and the file's contents load into it automatically.

Are numbers and true/false typed correctly in the spreadsheet?

Yes. A JSON number becomes a real Excel number you can sum or sort, and true or false values are written as Excel boolean cells rather than the text "true".

What happens to an array inside an object, like a list of tags?

It is written as one cell holding the array's JSON text, such as ["a","b"], since spreading a variable-length list across columns has no single right shape.

What order do the columns come in?

The order fields first appear when scanning through the objects, so the first object's keys usually lead, with any extra fields from later objects added on the end.

Can it handle deeply nested JSON, several levels deep?

Yes, flattening works at any depth, joining each level with a dot, such as a.b.c, though very deep nesting can make some column names quite long.

Related tools