JSON to CSV Converter
Turn a JSON array of objects into a clean, spreadsheet-ready CSV file.
- Nested objects flatten to dot-notation columns automatically
- Handles commas, quotes, and newlines inside values correctly
- Runs entirely in your browser — nothing uploads
{ "id": 1042, "name": "Dana", "roles": ["admin", "editor"], "active": true }
Practical guide
Build, validate, and reuse JSON with less friction.
A focused walkthrough for deciding when the tool fits your workflow.
The JSON to CSV Converter turns a JSON array of objects into comma-separated values you can open directly in Excel, Google Sheets, or any spreadsheet tool. Each object in the array becomes one row; every key that appears anywhere in the array becomes a column, so the output stays correct even when objects in the array don't all share the exact same shape.
How to use the JSON to CSV Converter
- Paste a JSON array of objects into the input panel — e.g.
[{ "name": "Alice", "age": 30 }, { "name": "Bob", "age": 25 }]. - Open the Convert panel; it opens directly on the CSV tab.
- Review the generated CSV, then copy it or download it as a
.csvfile. - If your JSON is a single object instead of an array, wrap it in
[ ]first — CSV needs rows, and one object is one row.
What it handles
- Nested objects, flattened to dot-notation columns (
address.city,address.zip) rather than dropped - Arrays, kept as JSON text inside one cell (
["admin","editor"]), since a spreadsheet cell can't hold a list natively - Objects in the array with different keys — headers are the union of every key seen, with blank cells for whichever rows don't have that key
- Values containing commas, double quotes, or newlines — quoted and escaped per standard CSV rules so nothing shifts into the wrong column
nulland missing values, both written as an empty cell
JSON code example
This payload has a nested object and an array field:
[
{ "id": 1, "name": "Alice", "address": { "city": "Austin" }, "tags": ["admin"] },
{ "id": 2, "name": "Bob", "address": { "city": "Reno" }, "tags": [] }
]
converts to:
id,name,address.city,tags
1,Alice,Austin,"[""admin""]"
2,Bob,Reno,"[]"
When to use it
- Handing data to someone who works in spreadsheets. An analyst or stakeholder who doesn't want raw JSON can open the CSV directly in Excel or Sheets.
- QA and test fixtures. Turn a JSON array of test cases into a CSV that's easy to scan, filter, and comment on row by row.
- Quick reporting from an API response. Convert a paginated API response into a CSV for a one-off report without writing a script.
- Data warehouse or BI tool imports. Many ingestion tools accept CSV more readily than nested JSON.
Related tools and articles
- JSON Converter — convert the same JSON into YAML, XML, TOON, or an escaped string instead
- JSON Formatter — validate and pretty-print your JSON before converting it
- JSON Validator — confirm the array is syntactically valid JSON first
- Converting JSON to CSV — a deeper walkthrough of the flattening rules and edge cases
- JSON vs XML vs CSV — when CSV is (and isn't) the right format for your data
Questions about JSON to CSV Converter
Everything you need to know before you start.
Paste a JSON array of objects into the input panel, then open the Convert panel and select the CSV tab (or use this dedicated JSON to CSV tool, which opens straight into it). Each object becomes one row; the union of every object's keys becomes the column headers, in the order they're first seen.
No — CSV is a table of rows, so the converter needs a top-level array. Wrap a single object in square brackets, e.g. turn { "name": "Alice" } into [ { "name": "Alice" } ], and it converts to a one-row CSV.
Nested objects are flattened using dot notation — { "address": { "city": "X" } } becomes a column named address.city. Arrays are kept as their JSON text inside a single cell (e.g. ["admin","editor"]), since CSV has no native way to represent a list inside one cell.
The converter collects the full set of keys across every object in the array and uses that as the header row. Rows missing a given key just get an empty cell for that column — no row is dropped and no column is skipped.
Yes. Any value containing a comma, a double quote, or a newline is automatically wrapped in double quotes, with internal quotes doubled per the standard CSV escaping rule, so it opens correctly in Excel, Google Sheets, or any RFC 4180-compliant reader.
JSON to CSV Converter, free & private.
No account needed. Your JSON never leaves your browser.
Launch JSON to CSV Converter