toolfora
Home / Excel / JSON to Excel

JSON to Excel

Turn any JSON into an Excel (.xlsx) or CSV file right in your browser. Choose how nested objects and arrays are expanded, extract a subtree with JSONPath, pick the columns to include, and download the result. Data is processed locally with SheetJS — nothing is uploaded.

Columns (select at least one)

Convert to see columns.

Preview

Result table appears here.

How to use JSON to Excel

Paste JSON (or open a local file) and convert it into an Excel (.xlsx) or CSV table. Everything runs locally with SheetJS — nothing is uploaded.

Input & JSONPath

  • Any valid JSON is accepted (object, array, or scalar).
  • JSONPath (optional) — e.g. $.users or $.data[0].items — extracts a sub-tree first, then converts it.

Nested structure expansion

  • Do not expand — nested objects/arrays stay as compact JSON strings in one cell.
  • Expand objects — an object's properties become columns, named parent.child.
  • Expand arrays — a nested array is flattened into the table.
  • Expand objects & arrays — both are expanded.
  • The top-level object or array is always expanded: a top-level object's properties become columns, and a top-level array always becomes multiple rows.

Array expansion

  • To rows — each element becomes its own row.
  • To columns — elements become columns named array[0], array[1], …
  • Alignment (for rows) controls how non-array columns behave across the expanded rows: None leaves them empty after the first row, Fill repeats the last value, Merge cells merges the column over the expanded rows (visible after downloading the .xlsx).

Output options

  • Trim whitespace — removes leading/trailing spaces from cell values.
  • Remove empty rows — drops rows where every cell is empty.
  • Columns — choose which expanded columns to include (at least one, all by default).
  • Format / Minify — validate and pretty-print or compact the input JSON.
  • Download — save as .xlsx or .csv (UTF-8).

Tip: the preview does not render merged cells — merge them by downloading the .xlsx.