How to convert JSON to CSV, including nested objects
Turn a JSON array into a clean CSV, flattening nested objects and escaping commas and quotes correctly, in your browser, with no upload.
Converting a JSON array to CSV sounds trivial until you hit two things every real dataset has: nested objects and values containing commas or quotes. Get those wrong and your spreadsheet silently shifts columns. Here's how to do it properly.
The shape CSV expects
CSV is flat: one header row, then one row per record. JSON isn't. Objects nest, so a converter has to decide how to flatten them:
{ "id": 1, "meta": { "team": "core", "level": 3 } }
The clean convention is dotted column names:
id,meta.team,meta.level
1,core,3
Nothing is lost, and the columns stay readable.
The escaping that trips people up
Any value containing a comma, a double-quote, or a line break must be wrapped in quotes, and inner quotes doubled, that's the RFC-4180 rule:
name
"Hopper, Grace"
"She said ""hi"""
If a tool skips this, a single comma inside a value pushes every following column one cell to the right.
Convert it the right way, privately
Drop's JSON to CSV tool flattens nested objects into dotted columns and escapes values to valid CSV, all in your browser, with nothing uploaded.
- Paste your JSON array (or upload a
.jsonfile). - Keep Flatten nested objects on for dotted columns.
- Copy the CSV or download a
.csvfile.
Going the other way? Use CSV to JSON.
Try the tool
Do it now — free, in your browser, nothing uploaded.