JSON KitJSON to CSV Converter

JSON to CSV Converter

Convert a JSON array of objects to a CSV spreadsheet — with nested object flattening and array joining.

Loading editor…
3 rows9 columns
Loading editor…

Related Tools

What is JSON to CSV Conversion?

CSV (Comma-Separated Values) is the universal format for spreadsheets and data pipelines. Converting a JSON array of objects to CSV lets you open API responses in Excel or Google Sheets, import data into databases, analyse results in pandas or R, and share data with non-developers who don't work with JSON.

The key challenge is handling nested JSON — real API responses rarely have flat objects. JSON Kit flattens nested objects using dot notation (address.city) and joins array fields with a configurable separator, so the output is spreadsheet-ready without manual preprocessing.

Example

Input JSON:

[{"id":1,"name":"Alice","address":{"city":"SF"},"tags":["admin","editor"]}]

Output CSV (flatten + join):

id,name,address.city,tags
1,Alice,SF,admin; editor

Frequently Asked Questions

What JSON structure does this tool accept?
The tool accepts a JSON array of objects — the most common format returned by APIs. Every element should be an object (not a primitive or nested array). A single JSON object is also accepted and will be treated as a one-row table. If your JSON is nested inside a wrapper key (e.g., { "users": [...] }), extract the array first using the JSONPath Tester tool.
How are nested objects handled?
With 'Flatten nested objects' enabled (default), nested objects are expanded into columns using dot notation: { "address": { "city": "SF" } } becomes a column named address.city. This is the format most spreadsheet apps expect. Disable flattening to instead serialize nested objects as a JSON string inside the cell.
How are arrays inside objects handled?
Array fields have two strategies. 'Join' concatenates the elements with a separator (e.g., 'admin; editor') — good for simple string arrays that you want readable in a spreadsheet. 'JSON string' serializes the array as a JSON string (e.g., '["admin","editor"]') — better for round-tripping back to JSON without data loss.
Which delimiter should I use?
Comma is the standard and works in Excel, Google Sheets, and most tools. Use Tab if your values contain commas (e.g., addresses, descriptions). Use Semicolon if you're in a locale where comma is the decimal separator (common in Europe). Use Pipe for data that might contain commas and semicolons.
How do I open the CSV in Excel or Google Sheets?
Download the file and open it directly in Excel — it auto-detects CSV. In Google Sheets, go to File → Import → Upload. If numbers or dates are misformatted, check your locale settings. For tab-delimited files, Excel may need you to specify the delimiter during import via the Text Import Wizard.
What happens to null values?
Null values are exported as empty cells, which is the standard CSV representation. When you re-import the CSV with the CSV to JSON tool and dynamic typing enabled, empty numeric cells become null, empty string cells become empty strings.
What if rows have different keys?
The tool performs a union of all keys across all objects. If one row has a 'score' field and another doesn't, 'score' still appears as a column — missing fields produce empty cells. This matches how most spreadsheet tools handle sparse data.

About This Tool

JSON to CSV uses papaparse — the most widely-used CSV library in the JavaScript ecosystem — for serialisation, with JSON Kit's own flattening and array-handling layer on top. It handles union columns (rows with different keys), null as empty cells, and all four delimiter choices. 100% browser-side — no data sent to servers.