JSON to CSV
Convert a JSON array of objects into clean, spreadsheet-ready CSV — free, instant and private. Everything runs in your browser; nothing is uploaded.
100% in your browser — your data never leaves your device.
How to convert JSON to CSV
- Paste a JSON array of objects into the input box on the left.
- The CSV is built instantly in the output panel, with a header row from your keys.
- If the JSON is invalid or not an array of objects, an error message appears below so you can fix it first.
- Click Copy for the clipboard, or Download CSV to save a
.csvfile.
Converting API and export data into a spreadsheet
JSON is how most APIs and modern tools hand you data, but spreadsheets, BI dashboards, and bulk-import forms almost always want CSV. Converting a JSON array of records into CSV lets you open an API response in Excel or Google Sheets, hand a data extract to a non-technical colleague, or feed a product catalogue into a tool that only accepts comma-separated files. Each object becomes a row and each key becomes a column, so the tabular shape that was implicit in the JSON becomes explicit.
How nested values and special characters are handled
The converter collects the union of keys across every object as the header, preserving the order they first appear, so rows with different fields still line up. Missing keys become empty cells. Values that are themselves objects or arrays are written as their JSON text inside a single cell rather than being flattened into more columns, keeping the structure intact. All output follows RFC 4180: any field containing a comma, double quote, or line break is wrapped in quotes with inner quotes doubled, and rows are separated by CRLF — the format spreadsheet applications expect.
Related tools
- CSV to JSON — turn spreadsheet rows back into a JSON array of objects.
- JSON Formatter & Validator — pretty-print and validate JSON before converting it.
- JSON Validator — check your JSON is well-formed and catch syntax errors.
Frequently asked questions
- Is my JSON uploaded to a server?
- No. The conversion runs entirely in your browser — the JSON is parsed and the CSV is built locally. Your data never leaves your device.
- What JSON shape does it expect?
- An array of objects, where each object is one row and its keys become columns. A single object is also accepted and treated as one row. The column header is the union of every object’s keys, in the order they first appear.
- How are nested objects and arrays handled?
- A cell whose value is itself an object or array is written as its compact JSON text (for example {"x":1}), then quoted and escaped like any other field. Only the top level is flattened into columns; deeper structure is preserved as JSON inside the cell.
- How are commas, quotes and newlines inside values handled?
- The output follows RFC 4180. Any value containing a comma, double quote, or line break is wrapped in double quotes, and inner double quotes are doubled (" becomes ""), so the CSV opens correctly in Excel, Google Sheets, and Numbers.
- What if some objects are missing a key?
- Missing keys become empty cells. The header always covers every key seen across all rows, so rows stay aligned even when objects have different fields.
- What delimiter and line endings does it use?
- Fields are separated by commas and rows by CRLF (\r\n), which is the RFC 4180 default that spreadsheet apps expect. The header row is emitted first, followed by one line per object.
- Can it handle large files?
- Yes, within your device’s memory. Because nothing is uploaded, the only limit is how much your browser can hold and process; very large arrays may take a moment to convert.