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.