JSON to CSV Converter
Convert JSON arrays to CSV and CSV back to JSON. Supports nested objects with automatic flattening, custom delimiters, and file downloads. Everything runs in your browser.
Features
Nested Object Flattening
Nested keys become dot-notation columns: address.city, address.country
Bidirectional Conversion
Convert JSON → CSV or CSV → JSON with the mode toggle
Custom Delimiters
Support for comma, tab, semicolon, and pipe delimiters
Proper CSV Escaping
Handles commas, quotes, and newlines inside field values correctly
File Download
Download converted output as .csv or .json files
Array Handling
Arrays in values are preserved as JSON strings in CSV output
Frequently Asked Questions
What JSON formats are supported?
The converter accepts JSON arrays of objects (the most common format for tabular data), single JSON objects (converted to a one-row CSV), and arrays of primitives (converted to a single-column CSV). Nested objects are automatically flattened using dot notation when the “Flatten nested objects” option is enabled.
How are nested objects handled?
When flattening is enabled, nested objects are expanded into dot-notation columns. For example, {"address": {"city": "London"}} becomes a column called address.city with the value “London”. Arrays within values are preserved as JSON strings.
Can I convert CSV back to JSON?
Yes. Use the “CSV → JSON” mode to convert CSV data back to a JSON array of objects. The first row is used as headers (object keys), and each subsequent row becomes an object in the output array. Quoted fields with commas and escaped quotes are handled correctly.
Is there a size limit?
There is no hard limit, but very large files (10MB+) may cause your browser to slow down since all processing happens client-side. For best performance, keep input under 5MB. No data is sent to any server — everything runs entirely in your browser.