JSON to CSV Converter

Paste a JSON array and get a clean CSV file back — header row, every field safely quoted and escaped, ready to download and open in Excel or Google Sheets. Nothing is uploaded.

What this converter does

JSON is how software exchanges data; CSV is how people do. When an API hands you a list of records — orders, customers, products, survey answers — the fastest way to actually look at them, sort them, chart them or hand them to a colleague is usually a spreadsheet, and spreadsheets speak CSV. This tool bridges the two: paste a JSON array of objects and it produces a CSV document with a header row built from the objects' property names, followed by one row per object. The result appears in the box for a quick copy-paste, or you can download it as a .csv file in one click. Because real-world JSON is messy, the converter is liberal about what it accepts: a single object instead of an array converts to a one-row file; objects that lack a property some other object has get an empty cell in that column rather than shifting everything sideways; and the column list is the union of every property seen anywhere in the data, in the order properties first appear, so no field is silently dropped just because the first record happened not to have it.

Why the quoting matters

CSV looks trivial — values separated by commas — and that is exactly its trap. The moment a value itself contains a comma ("Smith, John"), a quote (She said "hello"), or a line break (any street address), a naively built CSV falls apart: spreadsheets put the pieces in the wrong columns and every row after the break is corrupted. The CSV standard (RFC 4180) solves this with quoting rules: a field may be wrapped in double quotes, and inside a quoted field a double quote is written twice. This converter quotes every field and escapes embedded quotes that way, which produces the most conservative, widely compatible form of CSV — Excel, Google Sheets, LibreOffice and database import tools all read it without complaint. It costs a few extra characters and removes an entire category of "why is my spreadsheet scrambled?" afternoons.

What CSV cannot hold

CSV is a flat grid, and JSON is a tree, so some structure has to give. Nested objects and arrays inside a record — an "address" object, a "tags" list — are written into their single cell as compact JSON text. That keeps the information intact and the file valid, and for a quick look it is often all you need. If a project really needs those nested values spread across their own columns, flatten the JSON before converting: most APIs can be asked for a flatter shape, and a quick pass through the JSON Formatter makes the structure easy to inspect first. Also note that JSON types mostly survive the trip as text — numbers and booleans are written as they appear — but CSV itself has no types, so when the file is opened or re-imported, everything arrives as text for the receiving program to interpret. Our companion CSV to JSON Converter makes the same honest trade in the opposite direction.

A quick example

The two-record sample in the placeholder — [{"name":"Ada","age":36},{"name":"Bob","age":41}] — converts to a header row of "name","age" followed by "Ada","36" and "Bob","41". Add a third record with an extra property, say {"name":"Cid","age":29,"city":"Oslo"}, and a "city" column appears for everyone, empty for Ada and Bob. Try it: that union-of-columns behavior is the difference between a converter that trusts your data and one that quietly truncates it.

Frequently asked questions

What shape of JSON can be converted to CSV?

A JSON array of objects works best: each object becomes a row and each property becomes a column. A single object converts to a one-row CSV. If some objects have properties others lack, the column still appears — its cell is simply left empty for the rows that do not have it.

What happens to nested objects inside the JSON?

CSV is a flat format with no way to represent nesting, so a nested object or array is written into its cell as compact JSON text. The cell stays valid and readable, but if you need nested values as their own columns, flatten the JSON first.

Why is every value in quotes in the output?

Quoting every field is the safest form of CSV. It means commas, quotes and line breaks inside your data can never be mistaken for column or row separators, and quotes inside a value are escaped by doubling them. Excel, Google Sheets and every serious CSV reader handle quoted fields natively.

Can I open the result in Excel?

Yes. Download the converted file with the .csv extension and Excel, Google Sheets and LibreOffice Calc will all open it as a spreadsheet with the header row in place.

Private by design: this converter runs entirely in your browser. JSON you paste here is never uploaded, stored or shared.