Convert JSON to CSV
Convert JSON to CSV free in your browser. No upload, no signup, no watermark. Files stay on your device.
drop a .json file
or click to browse
related
more json & csv
see all spreadsheet converters →guide
how to convert json to csv
Drop your JSON file
Drag your JSON file into the drop zone above, or click the box to pick a file from your computer or phone. The browser reads the file directly — nothing uploads.
Click Convert
The page runs PapaParse on your device to decode the JavaScript Object Notation and encode it as Comma-Separated Values. Most conversions finish in a few seconds; large or codec-heavy files (RAW, video) can take longer.
Download the CSV file
When the conversion finishes, the CSV file is ready to download. Save it anywhere on your device.
FAQ
common questions
What JSON structure does the converter expect?
An array of objects works best — each object becomes a row, with object keys becoming column headers. The CSV needs a fixed columnar shape; nested objects or arrays-of-arrays don't translate cleanly to flat CSV. If your JSON is deeply nested, flatten it first (e.g., dot-notation column names) or accept that complex fields will serialise as JSON-stringified text in a single column.
Will my JSON's data types survive in the CSV?
Type information is lost — CSV stores everything as text. Numbers, booleans, null all become string representations: '123', 'true', '' (or 'null', depending on convention). Whoever consumes the CSV needs to parse types back from the text content. This is fundamental to CSV; if type fidelity matters, use JSON, XLSX, or another format with native type support.
What if my JSON has nested objects?
They don't fit cleanly into a flat CSV cell. The converter typically flattens them with dot-notation column names (`address.city`, `address.zip`) or serialises them as JSON-stringified text inside one cell. Either way, the structure is lost; you'd need to re-parse to recover it. For nested data, JSON-to-XLSX with multi-sheet output is a better target.
How are arrays inside object fields handled?
Typically joined into a single string with a delimiter (semicolon or pipe), since CSV cells can't naturally hold lists. Example: `tags: ['red', 'urgent']` becomes a column value like `red;urgent`. Whoever reads the CSV needs to split that field back. If your arrays are meaningful structure (not just simple lists), consider keeping JSON.
Why convert JSON to CSV?
Three common reasons: (a) feeding data into a spreadsheet for analysis or reporting; (b) importing into systems that expect CSV (legacy databases, BI tools, accounting software); (c) handing data to non-technical users who want to view it in Excel. JSON is the programming-friendly format; CSV is the universal tabular interchange format.