All guides

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.

  1. Paste your JSON array (or upload a .json file).
  2. Keep Flatten nested objects on for dotted columns.
  3. Copy the CSV or download a .csv file.

Going the other way? Use CSV to JSON.

Convert JSON to CSV here

Try the tool

Do it now — free, in your browser, nothing uploaded.

Open JSON to CSV