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.
$.usersor$.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.