FileToolsHub logo

JSON to Excel

Convert JSON arrays to Excel (.xlsx) spreadsheets with columns from object keys.

That workbook measured 16010 bytes.
[{"name":"Ada","qty":2},{"name":"Bea","qty":3}]
Sheet1 with name,qty / Ada,2 / Bea,3

Processing: processed on our servers, then deleted — no watermark, no account required for everyday jobs

✓ Free to use✓ No sign-up needed✓ Nothing to install

About JSON to Excel

JSON to Excel writes one worksheet named Sheet1, with one row per object and a header from the keys. A two-row sample workbook measured 16010 bytes.

Sheet1 and the header

The file text is parsed. An array is the row list. A single object is wrapped as one row. json_to_sheet builds the cells, and the sheet is appended under the name Sheet1. There is no other sheet. For name Ada qty 2 and name Bea qty 3, reading that sheet back as CSV is name,qty then Ada,2 then Bea,3. The button reads Run JSON to Excel. The download name ends in converted.xlsx. The content type is the xlsx spreadsheet type. Column order follows the key order. A second JSON file in the same request is not a second sheet.

Nested values and the CSV cousin

A nested array does not become extra columns. In the Excel path the measured tags cell for Ada was blank. The CSV path for the same shape wrote the array into one quoted cell. Use JSON to CSV when you need that cell text. Use this page when you need a workbook. Neither page expands tags into tag1 and tag2. Objects inside a field are not a second worksheet. If you need those columns, reshape the JSON before you upload. The blank cell is empty, not the word null and not the word object. The nested tags sample produced a blank cell under tags. Ada followed by a comma and an empty field is what the CSV round trip showed. Both data rows stay on Sheet1.

Parse failures

A lone opening brace throws Expected property name or '}' in JSON at position 1. An empty file throws Unexpected end of JSON input. The page does not replace those parser messages. Trailing commas and comments fail. The cap is 25 MB. The 16010 byte figure is the workbook for the two simple rows, not a promise about your file. A larger array produces a larger xlsx. Dates are whatever the sheet writer stores from the JSON values you sent. The round trip of that sample still listed only the sheet name Sheet1. The button reads Run JSON to Excel, and the stored name ends in converted.xlsx. The upload cap on this route is 25 MB. No extra tab is created.

The JSON is uploaded

The JSON is uploaded for the conversion, and the temporary file is removed after the download. Keep the JSON if you still need nesting that the blank cell dropped. Excel to CSV can turn the first sheet of a workbook back into text. The 16010 byte size is the xlsx container for two short rows, including the workbook parts Sheet1 needs, not the size of the CSV text of those same rows. A single object, not an array, still becomes one data row under the same header. The sheet name does not change to the file name. It stays Sheet1.

How to use

  1. 1

    Add one JSON file, up to 25 MB.

  2. 2

    Press Run JSON to Excel.

  3. 3

    Press Download file. The name ends in converted.xlsx.

Privacy

The JSON file is uploaded for the conversion, and the temporary file is deleted after the workbook download.

Frequently asked questions

What is the sheet name?

Sheet1. The two-row Ada and Bea sample measured 16010 bytes.

What does that sheet contain?

A header name,qty and the rows Ada,2 and Bea,3.

What happens to a nested array?

The measured tags cell was blank. JSON to CSV keeps that array as a quoted cell instead.

What does invalid JSON do?

A lone opening brace throws Expected property name or '}' in JSON at position 1.

What does the workbook get named?

It ends in converted.xlsx. The button reads Run JSON to Excel.

Browse all Spreadsheet Tools · Sitemap