JSON to CSV Converter
Convert JSON arrays to CSV instantly - supports nested objects, custom delimiters, and one-click download. A fast, browser-based JSON to CSV converter built for developers.
Features
Everything you need, nothing you don’t.
- Converts JSON arrays of objects to CSV automatically as you type
- Flattens nested objects using dot-notation headers (e.g. address.city)
- Supports comma, semicolon, tab, and pipe delimiters
- Download the output as a .csv file with one click
- Proper CSV escaping for fields containing delimiters or quotes
- One-click copy CSV output to clipboard
- Fullscreen editor mode for large payloads
- Real-time JSON validation with line and column error location
- Works entirely in your browser - nothing is uploaded
Related Tools
Frequently asked questions
What JSON format does this converter accept?
The tool expects a JSON array of objects - each object becomes a row in the CSV, and the object keys become column headers. Example: [{"id":1,"name":"Alice"},{"id":2,"name":"Bob"}]. Arrays of primitives or a single object are not supported.
How are nested objects handled?
Nested objects are flattened using dot notation. For example, {"address":{"city":"New York","country":"US"}} produces headers address.city and address.country. Nested arrays are serialised to a JSON string in the cell.
What delimiters are supported?
Comma (,), semicolon (;), tab, and pipe (|). Semicolons are the default in some European locales where commas are used as decimal separators. Select the delimiter before converting - the output updates instantly.
Will fields containing commas or quotes be escaped correctly?
Yes. Any field that contains the chosen delimiter, a double quote, or a newline is automatically wrapped in double quotes, and any embedded double quotes are escaped as two consecutive double quotes ("") - the standard RFC 4180 CSV format.
Can I open the downloaded CSV in Excel or Google Sheets?
Yes. The downloaded file uses UTF-8 encoding and standard CSV escaping. Excel on Windows may require you to import the file (Data > From Text/CSV) rather than double-clicking, to ensure UTF-8 characters render correctly.
What happens if my JSON objects have different keys?
The tool collects all unique keys from every object in the array and uses them as column headers. Objects missing a particular key produce an empty cell in that column.
Is my data sent to a server?
No. All conversion happens in your browser using JavaScript. Nothing is uploaded or stored anywhere.
Can I use this offline?
Yes. Once the page is loaded the tool works entirely offline - all logic runs locally in the browser.