JSON to CSV Converter
Convert JSON data to CSV format
About the JSON to CSV Converter
Spreadsheets speak CSV, APIs speak JSON, and the gap between them is a frequent chore. JSON to CSV converts an array of JSON objects into clean, spreadsheet-ready CSV — collecting every field into columns and lining up the rows.
It is the quick bridge for getting data into Excel, Google Sheets, or a database import: exporting an API result for a non-technical colleague, turning a list of records into a report, or prepping a bulk upload. Nested objects are flattened into dot-notation columns, so {"user":{"name":"Ann"}} becomes a user.name column rather than an unreadable blob.
How to Use the JSON to CSV Converter
- Paste a JSON array of objects (or a single object) into the "JSON Input" box.
- The tool collects all keys across your objects to build the CSV header row.
- Read the generated CSV; nested object fields appear as dot-notation columns like address.city.
- Click Copy to paste into a sheet, or Download to save it as data.csv.
Why Use ToolForge’s JSON to CSV Converter
- It flattens nested objects into dot-notation columns automatically, so structured records become a flat table without manual reshaping.
- It gathers the union of all keys across every object, so records with different fields still line up correctly, with blanks where a value is missing.
- Values containing commas, quotes, or line breaks are quoted and escaped following the standard CSV rules, so the output imports cleanly into Excel and Google Sheets.
- Conversion runs in your browser and the result downloads as a .csv file directly — no upload, no account.
Frequently Asked Questions
What JSON structure does this expect?
An array of objects works best — each object becomes a row and each key becomes a column. A single object is also accepted and produces a one-row CSV. Deeply nested objects are flattened into dot-notation columns.
How are nested objects handled?
Nested objects are flattened using dot notation, so {"user":{"name":"Ann","age":30}} becomes two columns, user.name and user.age. This keeps the structure visible while fitting into a flat table.
Can I change the delimiter to a semicolon or tab?
This tool outputs standard comma-separated values. If your spreadsheet locale expects a semicolon, most spreadsheet apps let you choose the delimiter on import, or you can find-and-replace after pasting.
What happens to values with commas in them?
They are automatically wrapped in double quotes, and any double quotes inside the value are doubled — the standard CSV escaping. This ensures a value like "Smith, John" stays in a single column when imported.
