100% client-side, nothing ever leaves your browser
Convert JSON to CSV
Paste a JSON array of objects and get properly escaped, spreadsheet-ready CSV with automatic headers — instantly, in your browser.
How JSON to CSV conversion works
The converter parses your JSON, collects column headers from every object's keys, and writes correctly escaped CSV rows — entirely in your browser.
Paste your JSON
Drop in a JSON array of objects, a single object, or an array of simple values.
Automatic conversion
Headers are detected automatically, and every field is escaped correctly for commas, quotes, and line breaks.
Copy or download
Copy the CSV to your clipboard or download it as a .csv file ready to open in a spreadsheet.
Privacy note: conversion happens entirely in your browser using JavaScript. Your data is never uploaded, logged, or stored on a server.
Common uses
Importing API data into a spreadsheet
Turn a JSON response from an API into CSV so you can open it directly in Excel, Google Sheets, or Numbers.
Preparing data for import tools
Many bulk-import tools accept CSV but not JSON, so converting first avoids manual reformatting.
Sharing data with non-technical teammates
CSV opens directly in familiar spreadsheet software, making raw JSON data easier for others to review.
Quick data inspection
Viewing records as rows and columns can make patterns and missing fields easier to spot than nested JSON.
Frequently asked questions
What JSON structures does this tool support?
It works best with a JSON array of objects, which becomes one CSV row per object. A single JSON object converts to a one-row CSV, and an array of plain values converts to a single "value" column. A mix of objects and non-objects in the same array is not supported.
How are commas and quotes inside values handled?
Any field containing a comma, double quote, or line break is automatically wrapped in double quotes, and any double quotes inside the value are doubled, following standard CSV escaping rules so the file opens correctly in spreadsheet software.
What happens to nested objects or arrays?
A nested object or array value is converted to its JSON text and placed inside the CSV cell as a quoted string, since CSV has no native way to represent nested structures.
How are the column headers decided?
Headers are collected from every object's keys in the order they first appear across all rows. If a later object is missing a key that an earlier one had, that cell is simply left empty.
Is my data uploaded anywhere?
No. The conversion runs entirely in your browser using JavaScript. Nothing you paste is sent to a server.
Why did I get an error converting my JSON?
The most common causes are invalid JSON syntax, an empty array, or a root value that isn't an object or array of objects. The error message explains which of these applies.
More tools
Additional utilities from the same toolkit.