Nested JSON ⇄ Excel (Flatten)
Flatten nested JSON into an Excel sheet with one dotted column per field, or rebuild the nested JSON from such a workbook, for files up to 200MB.
Or convert a .json file directly — supports files up to 200MB
Drag & drop a file here, or click to browse
Processed in the background, so the page stays responsive even for huge files
How to use this tool
Switch to JSON → Flat Excel, paste nested JSON — objects inside objects, arrays of values — and click Convert & Download .xlsx to get a spreadsheet where every field becomes its own column, named with dot notation like address.city. Switch to Excel → Nested JSON and drop in a workbook that uses the same dotted-header convention; the tool reads the first sheet and rebuilds the original nested structure automatically. Files up to 200MB are supported — large uploads are processed in a background Web Worker so the page never freezes, and everything happens locally in your browser.
What a flattened sheet looks like
Two orders with nesting and arrays of different lengths:
[
{ "id": 1, "customer": { "name": "Asha", "address": { "city": "Pune" } },
"tags": ["new"], "items": [{ "sku": "A1", "qty": 2 }] },
{ "id": 2, "customer": { "name": "Ravi", "address": { "city": "Surat" } },
"tags": ["vip", "repeat"], "items": [] }
]produce the columns id, customer.name, customer.address.city, tags.0, items.0.sku, items.0.qty, tags.1 and items. Columns appear in the order they are first seen, so tags.1 comes after the item columns because only the second order has a second tag. The items column exists because Ravi's order has an empty item list, and keeping that column means the record doesn't silently lose the field.
Why Excel rather than CSV for this
Flattened data is usually headed to a person: someone in operations checking addresses, or a teammate correcting product details before the JSON goes back into an API. An .xlsx file opens directly with sensible types (numbers you can sum, text that keeps leading zeros), survives being edited and saved in Excel, and converts back with the same dotted headers. When the flattened rows are going into a script or a database import instead, the Nested JSON ⇄ CSV version produces the same columns as plain text. The flattening guide shows a full round trip.
Frequently Asked Questions
How are arrays turned into columns?
Each array position gets its own column, numbered from 0: tags.0, tags.1, and items.0.sku for a field inside the first array item. Columns are the union across all records, so if only one record has a third tag, a tags.2 column still exists and the other records leave it empty.
Can I edit the sheet and turn it back into nested JSON?
Yes. Keep the dotted headers, edit the values, and use Excel → Nested JSON. Numeric path segments become arrays again, numbers stay numbers, date cells come back as ISO text such as "2026-09-24", and an empty cell in a numbered column is skipped, so a shorter array is not padded with nulls.
What does not survive the round trip?
Two things a flat table cannot express. An empty array or object becomes an empty cell and comes back as an empty string. A key that itself contains a dot, such as "version.major", comes back as a nested version → major path. Rename such keys before flattening if the exact shape matters.
Is there a limit on how wide the sheet can get?
Excel allows 16,384 columns per sheet. Every array item adds one column per field, so a record with 400 line items of 5 fields each needs 2,000 columns just for those items. If that is your data, flattening is the wrong shape: extract the array into its own list and convert that instead, so each item becomes a row.
Related Tools
Related Blog Posts
How to Flatten Nested JSON and Convert JSONL Files
How dot-notation flattening turns nested objects and arrays into spreadsheet columns, what survives the trip back, and how JSON Lines differs from a normal JSON file.
Read moreHow to Convert JSON to Excel, CSV, XML and YAML (and Back)
What actually happens to your data when JSON becomes a spreadsheet, XML, or YAML: missing keys, nested values, leading zeros, and the XML array problem, with real converter output.
Read moreConverting CSV and XML to Excel Without Losing Data
Why double-clicking a CSV mangles PIN codes, long IDs and ₹ signs, what a careful CSV-to-Excel conversion does instead, and how XML records map to spreadsheet columns.
Read more