JSON to CSV Converter

Convert a JSON array of objects into a spreadsheet-ready CSV file — or turn CSV back into JSON. Nested objects are flattened, quoted fields are handled correctly, and everything runs in your browser, so your data is never uploaded.

 

Turn JSON arrays into spreadsheet rows

Most data that lands in a spreadsheet starts life as JSON — an API response, a database export, a log dump. This converter takes a JSON array of objects and lays it out as CSV: one row per object, one column per field. It scans every object first, so if some records include a field that others omit, the column still appears and missing cells are simply left empty. That keeps your columns aligned in Excel, Google Sheets, or Numbers.

Flattening nested JSON

Real-world JSON is rarely flat. When an object contains another object, this tool flattens it into dot-notation columns — address.city, address.zip — so the structure survives the trip to a two-dimensional grid. Arrays and other deeply nested values are serialized back to compact JSON inside the cell so nothing is silently dropped.

Converting CSV back to JSON

Switch the direction and the same tool becomes a CSV to JSON converter. It uses a proper CSV parser that respects quoted fields, so a value like "Doe, John" stays one cell and embedded line breaks inside quotes are preserved. Turn on type parsing to get real JSON numbers and booleans instead of strings, or leave it off to protect identifiers with leading zeros. As always, the conversion is entirely local — you can pair it with our JSON formatter to validate and pretty-print the result.

Frequently asked questions

How do I convert JSON to CSV?

Paste a JSON array of objects — for example the response from an API — into the input, keep the direction on "JSON to CSV", and click Convert. Each object becomes a row and each key becomes a column. The header row is built from the combined set of keys across all objects, so rows with missing fields are left blank rather than misaligned.

What happens to nested objects and arrays?

Nested objects are flattened into dotted column names — an object like {"user": {"name": "Sam"}} becomes a column "user.name". Arrays and any remaining nested values are written as compact JSON in the cell, so no data is lost. If you need a flat spreadsheet, flatten or reshape the JSON first.

Can it convert CSV back to JSON?

Yes. Switch the direction to "CSV to JSON" and paste your CSV. The first row is treated as the header, and each following row becomes an object keyed by those headers. The parser understands quoted fields, escaped quotes ("" inside a quoted value), and values that contain commas or line breaks.

Which delimiter should I choose?

Comma is the default and works with Excel, Google Sheets, and most tools. Choose semicolon if you work in a locale where spreadsheets expect it (common in parts of Europe), or tab for TSV files. The same delimiter setting applies to both conversion directions.

Are numbers and booleans preserved when converting CSV to JSON?

With "Parse numbers and booleans" enabled, cells that look like numbers become JSON numbers and true/false become booleans; empty cells become empty strings. Turn it off to keep every value as a string, which is safer when a column contains things like ZIP codes or IDs with leading zeros.

Is my data uploaded anywhere?

No. The conversion runs completely in your browser with no network requests, so your data never leaves your device. That makes it safe for exports containing customer records or other sensitive information. Need to tidy the JSON first? Use our JSON formatter to validate and beautify it.