JSON to CSV Converter
Convert JSON arrays to CSV format instantly in your browser.
JSON to CSV Features
Fast, accurate JSON to CSV conversion.
Converts JSON arrays of objects into CSV rows.
Nested objects flattened with dot notation.
Column headers from your JSON keys.
Key Takeaways
- The converter runs entirely in your browser, parsing the JSON locally so your data never has to leave your device.
- Your input must be a top-level JSON array of objects, where each object becomes one row; wrap a single object in square brackets like [ {... } ] first.
- The header row is built from the union of all keys across every object, so records with extra or missing fields still line up, leaving blank cells where a key is absent.
- Nested objects and arrays are written into a single cell as JSON text rather than split into separate columns, so flatten your data first if you need each field in its own column.
How to Convert JSON to CSV Online
Paste a JSON array of objects
Copy your JSON into the input box. The converter expects a top-level array where each element is an object, for example a list of records exported from an API or database. Each object becomes one CSV row.
Click Convert to CSV
The tool parses your JSON in the browser, collects every key seen across all objects to build the header row, and writes one data line per object. Values with commas, quotes, or line breaks are wrapped in double quotes and escaped automatically.
Review and copy the result
Check the CSV output, then use the Copy button to send it to your clipboard. Paste it straight into Excel, Google Sheets, or any spreadsheet app, or save it as a .csv file. Use Clear to reset both boxes for the next input.
What Each JSON Value Type Becomes in CSV
The converter walks every object in your array and maps each value to a single CSV cell. Knowing how each type is handled helps you predict the output before you convert.
| JSON value | CSV cell output | Notes |
|---|---|---|
| String | The text as-is | Quoted only if it contains a comma, double quote, or newline. |
| Number or boolean | Plain text (12, true) | Written without quotes. |
| null or missing key | Empty cell | Rows that lack a column key are left blank for that column. |
| Nested object | JSON string, such as {"city":"Rome"} | Serialized in one cell, not split into separate columns. |
| Array | JSON string, such as [1,2,3] | Kept as a single quoted cell. |
| Double quote inside text | Doubled to "" and the cell is quoted | Follows standard CSV escaping rules. |
Is This Tool Right for Your Data
Flat arrays of records
Ideal. An array of objects with simple string, number, and boolean fields converts cleanly, with one column per key and one row per object.
Objects with different keys
Supported. The header row is the union of all keys across every object, so records with extra or missing fields still line up, with blanks where a key is absent.
Deeply nested JSON
Works, with a caveat. Nested objects and arrays are written into a single cell as JSON text rather than expanded into their own columns. Flatten the data first if you need separate columns.
A single object or raw value
Not accepted. The input must be a JSON array. Wrap a lone object in square brackets, like [ { ... } ], so it is treated as a one-row array.
Common Problems and Fixes
"Input must be a JSON array of objects"
Your JSON parsed successfully but the top level is an object, string, or number rather than an array. Wrap your data in square brackets so it becomes an array, for example change { "id": 1 } to [ { "id": 1 } ].
"Invalid JSON" error
The text could not be parsed. Common causes are trailing commas, single quotes instead of double quotes around keys and strings, or unquoted keys. Paste the input into a JSON validator to find the exact position, then convert again.
Nested data shows as {"...":"..."} in a cell
This is expected. Sub-objects and arrays are stored as JSON text in one cell. To split them into individual columns, flatten the structure before converting, for example rename address.city to a top-level key named address_city.
Some rows have blank cells
Those objects do not contain that key. The converter builds columns from every key it finds across the whole array, so any object missing a key produces an empty value in that column. Add the key to those objects if you need a value there.
About JSON to CSV Converter
Convert JSON arrays to CSV format for use in spreadsheets and data tools. Handles nested objects and arrays.
Frequently Asked Questions
Is this tool free to use?
Yes, this tool is completely free.
No account or registration is required.
You can use it as many times as you like.
Is my data private?
Browser-side workflows run locally.
Your data is never sent to any server.
We do not store, log, or share your input.
Does it work on mobile?
Yes, the tool is fully responsive.
It works on phones, tablets, and desktops.
No app download is needed.
Do I need to install anything?
No installation is required.
It runs entirely in your web browser.
Works on any modern browser without plugins.
Is there a file size limit?
There is no strict file size limit.
Very large inputs may be limited by browser memory.
For best performance, keep inputs under a few MB.
Can I use the output commercially?
Yes, there are no restrictions on usage.
The output belongs entirely to you.
Use it for personal or commercial projects freely.
What browsers are supported?
All modern browsers are supported.
This includes Chrome, Firefox, Safari, and Edge.
Keep your browser updated for best results.
How accurate is the result?
Results are highly accurate for standard inputs.
Edge cases may produce unexpected output.
Always review the output before using it in production.
Sources and References
Format and tool details on this page are based on the official specifications and documentation below.
- RFC 8259: The JSON Data Interchange Format- IETF
- JSON- MDN Web Docs
- RFC 4180: Common Format for CSV Files- IETF