JSON to CSV & Excel Converter
Paste an API response or upload a JSON file and get a flat table, with nested fields turned into columns.
Processed in your browser. Files never leave your device.
How it works
- Paste JSON or upload a
.json,.jsonl, or.ndjsonfile. - Choose how arrays should be handled.
- Click Convert and check the preview.
- Download a CSV or an Excel workbook, or copy the CSV.
Turn nested JSON into a spreadsheet you can use
API responses and exports are rarely a flat list. Records sit inside a wrapper like
{"data": [...]}, customers have nested addresses, and orders have arrays of line items.
This converter finds the list of records, turns every nested field into a column named by its path,
and lets you decide what happens to arrays.
Three ways to handle arrays
- Join into one cell:
["new","vip"]becomesnew; vip. Best for tags and simple lists. - One row per item: an order with three line items becomes three rows, each repeating the order fields. Best for analysis in Excel or a pivot table.
- Spread into columns:
items.0.sku,items.1.sku. Best when every record has a few fixed positions.
Details
- Columns keep the order they first appear in, so the table reads like the source
- JSON Lines (one object per line) works, as does a single object
- In the Excel download, plain numbers become numeric cells; codes with leading zeros stay text
nulland missing fields become empty cells
Free use covers files up to 5 MB and 20,000 output rows; Structura Pro raises that to 25 MB and 100,000 rows.
Popular uses: JSON to Excel
Related tools: CSV Cleaner · CSV Import Validator · Data Profiler · CSV → JSON · Excel → CSV
FAQ
Does my data get uploaded or stored?
No. Processing runs entirely in your browser. Structura does not upload your files for processing and does not keep file contents on a server. Closing the tab clears the in-memory copy.
Is processing private / local-only?
Yes for the tool’s job. Your files stay on the device. Optional Cloudflare Web Analytics may record page views and anonymous events such as tool runs and downloads, never file contents or file names.
How are nested objects converted?
Each nested field becomes its own column named by its path, so {"customer": {"city": "Pune"}} becomes a customer.city column.
My JSON has the records inside "data" or "results". Does that work?
Yes. The converter looks for the largest list of objects inside the JSON and uses it, and tells you which path it used.
Why did I get more rows than records?
You chose One row per item, which creates a row for each array element. Switch to Join into one cell to keep one row per record.
Can I convert JSON to Excel instead of CSV?
Yes. Click Download Excel to get an .xlsx file with a frozen header row and numbers stored as numbers.
Do I need an account?
No. All Structura tools are free to use without signup.
Need a data tool we don’t have yet?
Tell us what you are trying to convert, clean, compare, or validate. We prioritize tools based on real requests. Need XML or YAML converted to a table too?
Request a tool →