Free · No sign-up · Runs in your browser

JSON to CSV Converter

Turn a JSON array of objects into a CSV you can open in Excel, Google Sheets, or Numbers. Column headers are collected from every object, so records with missing fields still line up correctly.

Input
Output
0 chars

What input it expects

An array of objects, where each object becomes one row: [{"name":"Ada","role":"Engineer"},{"name":"Alan"}]. Column headers are the union of all keys across every object, so a record missing a field produces an empty cell rather than a shifted row. A single object is treated as a one-row table.

How CSV escaping is handled

CSV looks trivial and is full of traps. Any value containing a comma, a double quote, or a newline must be wrapped in double quotes, and any literal double quote inside it must be doubled. So He said "hi" becomes "He said ""hi""". Getting this wrong shifts columns and corrupts the file — which is why hand-rolled CSV export breaks on the first customer with a comma in their address. This tool applies the rules from RFC 4180 automatically.

Nested data

CSV is flat and JSON is not, so nesting cannot be represented directly. Nested objects and arrays are serialised as JSON strings inside their cell, which preserves the data losslessly even though it is not tabular. If you need nested fields as real columns, flatten your JSON first so that address.city is a top-level key. Choosing the semicolon delimiter helps in regions where Excel expects it, and tab-delimited output pastes directly into a spreadsheet.


Frequently asked questions