Convert JSON or JSON Lines to CSV

Nested objects become dot-path columns, arrays are kept as JSON text or spread out, and numbers keep their exact digits because they are never parsed into floating point.

Example data — not saved

Showing synthetic sample data: JSON to CSV with nested fields. Open or drop your own file to replace it — files are read in your browser and never uploaded.

Source AUpdating…

How the JSON is read

The JSON parser in CSVUtils keeps each number’s original text, so the id 9007199254740993 in the example arrives in the CSV unchanged, and 1e2 stays 1e2 until you choose to convert it.

Records with different keys are merged into one header in first-seen order. Keys a record lacks become missing cells. Explicit nulls and absent keys both become missing, and the import notes say how many of each there were.

Duplicate keys inside one object (allowed by the grammar, undefined by the spec) are reported and the last value is used. Choose the nesting and array options on the source’s import settings, then export from the Export tab.

Questions

Can I paste JSON instead of opening a file?

Yes. Use “Paste data”; text starting with [ or { is read as JSON or JSON Lines.

What happens to arrays like ["office","light"]?

By default they are kept as compact JSON text in one cell. Choose “Spread to path[0], path[1]…” to give each element its own column.

Is the JSON evaluated as code?

No. It is parsed by a strict, depth-limited parser; nothing is evaluated.