Nested JSON to CSV Converter
Flatten nested JSON into CSV columns with a convention you can read and reverse. Object keys join with dots (address.city), array indices become brackets (items[0].sku), and a key that itself contains a dot is quoted as ["a.b"]. A legend above the output lists every generated header, and the CSV to JSON direction parses the same paths back into nested structures.
Worked example
[{"id":1,"address":{"city":"Tokyo","zip":"100-0001"}}]becomes
id,address.city,address.zip 1,Tokyo,100-0001
Each leaf value gets a column whose header is its path. The two leaves inside address become address.city and address.zip, so the spreadsheet shows readable columns instead of one cell holding a JSON blob.
Frequently asked questions
How are arrays inside nested JSON flattened?
You pick the strategy. The default writes index columns, so {"tags":["red","blue"]} becomes tags[0] and tags[1]. The alternatives are a joined cell (red|blue), the array as a JSON string in one cell, or one row per element with the other fields repeated.
Can I convert the flattened CSV back to nested JSON?
Yes. Switch to the CSV to JSON direction with the Rebuild nested keys option on and the dot and bracket headers are parsed back into objects and arrays. Combined with type inference, a flattened export converts back to the original structure.