JSON to CSV

  • RFC 4180
  • Nested keys
  • Nothing uploaded

Records to rows, with nested structure flattened into dotted columns.

Input
CSV

Paste input on the left to see csv.

Everything runs in your browser — nothing is uploaded.

About to csv

Converting JSON to CSV turns records into rows. JSONic flattens nested objects into dotted column names, takes the union of every record's keys as the column set so that missing fields become empty cells rather than shifted columns, and quotes values according to RFC 4180.

Spreadsheets want a rectangle; JSON is a tree. This flattens each record into dotted paths, takes the union of every record's keys as the column set so records with missing fields get empty cells rather than shifted columns, and quotes any value containing a comma, quote or newline as RFC 4180 requires.

Questions

How is nested JSON turned into columns?

Each record is flattened into dotted paths, so { user: { name: 'a' } } becomes a user.name column. Nested arrays become indexed columns such as tags.0 and tags.1.

What happens when records have different keys?

Columns are the union of every record's keys, in first-seen order, and missing values become empty cells. No record is silently truncated to match the first one.

Will it open correctly in Excel?

Yes for standard cases. Excel does apply its own type coercion on open — long digit strings can become scientific notation — so import as text if you have identifiers that must survive intact.