Everyday Tools
JSON to CSV converter
Turn a JSON array of objects into clean, spreadsheet-ready CSV. Commas and quotes are escaped correctly, and you can copy or download the result — all without leaving your browser.
Get JSON into a spreadsheet
APIs and apps speak JSON, but people analyse data in spreadsheets. This converter takes a JSON array of objects and flattens it into CSV: the keys become column headers and each object becomes a row. The output opens directly in Excel, Google Sheets, or Numbers, and imports cleanly into databases and BI tools.
It follows standard CSV escaping, so values containing commas, quotes, or line breaks are wrapped safely and won't shift your columns. Because it runs in your browser, exports containing customer records or other sensitive data never leave your device.
Example
JSON in
[
{ "name": "John", "age": 30 },
{ "name": "Mia", "age": 27 }
]CSV out
name,age John,30 Mia,27
Frequently asked questions
- What format should the JSON be?
- Provide a JSON array of objects, e.g. [{"name": "John", "age": 30}]. The object keys become the CSV column headers and each object becomes a row.
- Are commas in text handled correctly?
- Yes. Values containing commas, quotes, or line breaks are automatically wrapped in double quotes following standard CSV (RFC 4180) rules, so they open cleanly in any spreadsheet app.
- Is my data secure?
- Yes. The conversion happens entirely in your browser. Your JSON is never uploaded, which is important for exports that contain personal or business data.
- Can I open the CSV in Excel or Google Sheets?
- Yes. Download the CSV and open it directly in Excel, Google Sheets, Numbers, or import it into any database tool — CSV is universally supported.
- What if my objects have different keys?
- The converter collects the keys it finds and uses them as columns. Objects missing a particular key simply get an empty cell in that column, so mixed records still export cleanly.
- Can it handle nested JSON?
- CSV is a flat, two-dimensional format, so deeply nested objects don't map directly to columns. Flatten nested data first, or export the nested part separately, for the cleanest result.