TEXT & DEVELOPER TOOLS
JSON to CSV
Convert an array of JSON objects into CSV that opens cleanly in Excel, Sheets and other spreadsheet tools.
Quick answer: Paste or open your JSON, keep the conversion on JSON → CSV, choose the output delimiter, convert, and download the CSV.
Use JSON to CSV ↓Loading the tool…
How to use JSON to CSV
- Paste or open the JSONProvide an array of objects, for example an API response. Each object becomes a row.
- Choose the output delimiterComma is standard. Use semicolon for spreadsheets set to European locales, or tab for TSV.
- ConvertThe keys become column headings and each value is placed under its heading.
- Open in your spreadsheetCheck that columns line up, dates are readable and long numbers have not been rounded.
About this tool
APIs and databases return JSON, but analysts, managers and clients want a spreadsheet. Converting JSON to CSV is the quickest route, provided the structure suits a table. This page does the conversion in your browser and keeps your data on your device, which matters when the data contains customers, orders or anything confidential.
Practical example: Paste an API response with 500 user records, choose a semicolon delimiter for a German-locale spreadsheet, and open the result in Excel.
Important limitation: Works best with arrays of objects. Arrays inside records are written as JSON text in one cell rather than split into rows.
Conversion runs in this browser tab. Your data is not uploaded. Read the privacy information.
How it works
The tool reads the array of objects, collects the keys as column headings and writes each object as a CSV row with proper quoting.
Real-world uses
- Turning an API response into a report
- Exporting data for non-technical colleagues
- Preparing data for a spreadsheet import
Making JSON fit a table
CSV is flat: rows and columns. JSON can be deeply nested, with objects inside objects and arrays inside objects. A list of similar records, such as users or orders, converts neatly. For nested objects the tool offers “Flatten nested objects”, which is on by default and turns address: {city: …} into a column named address.city. Arrays are written into the cell as JSON text, so if you need one row per array item, reshape the data first.
Objects in the array do not always have the same keys. The column list is built from every key found in any record, and cells for records that lack a field are left empty. Check that every column you need appears, and watch for a field that only appears in a few records, which can be a sign of inconsistent data worth investigating.
Spreadsheets add their own surprises. Excel may convert long numbers to scientific notation, drop leading zeros and turn text that looks like a date into an actual date. If this matters, import the CSV with the columns set as text instead of double-clicking the file. The delimiter also matters: in locales where the comma is the decimal mark, Excel expects semicolons. The tool helps in two ways: it can add a byte-order mark on download so accented characters show correctly in Excel, and it protects against spreadsheet formulas by prefixing values that start with = or @ so a cell cannot run as a formula.
For very large JSON files, check the result on a sample first. The conversion runs in your browser, so extremely large inputs depend on your device’s memory.
Tips for better results
- Use semicolons for European spreadsheets.
- Import ID columns as text.
- Leave formula protection on if the CSV comes from untrusted data.
Frequently asked questions
What JSON shape works best?
An array of objects with similar keys, such as a list of records.
What happens to nested objects?
With “Flatten nested objects” on (the default) they become dotted columns such as address.city. Arrays are written into the cell as JSON text.
Why does Excel show strange numbers?
Excel may change long numbers and drop leading zeros. Import the column as text to keep them.
Is my data uploaded?
No. Conversion happens in this browser tab.