100% client-side · nothing leaves your browser

JSON to CSV Converter

Convert a JSON array into a CSV file instantly — column headers are detected automatically, and nested objects are preserved as embedded JSON. Full CSV-to-JSON conversion works too.

JSON input
CSV output

          
Paste JSON (or CSV, with the toggle switched) to convert it

How to convert JSON to CSV

  1. Paste a JSON array of objects into the input pane.
  2. Column headers are detected automatically from every field across all records.
  3. The CSV output appears instantly on the right.
  4. Copy it or download it as a .csv file.

Why use this converter

Handles inconsistent records

If some records have extra or missing fields, the tool builds one column set from every field seen and fills gaps with empty cells, rather than failing.

Preserves nested data

Nested objects and arrays are embedded as JSON text in their cell instead of being silently dropped, which is a common failure in simpler converters.

Private and bidirectional

Convert either direction, entirely in your browser — nothing is uploaded.

Converting JSON to CSV

CSV is a flat, tabular format — rows and columns — while JSON supports arbitrary nesting. Converting from JSON to CSV means flattening that structure: each object in a JSON array becomes one CSV row, and each unique key across all objects becomes a column. Values that are themselves objects or arrays are preserved as embedded JSON text in their cell, since CSV has no native way to represent nesting, rather than losing that data entirely.

This is the direction most people actually need when they say "convert JSON to CSV" — turning an API response or exported dataset into something that opens cleanly in a spreadsheet. The reverse direction, CSV to JSON, is also fully supported here, with automatic type coercion so numeric and boolean-looking CSV values become real JSON numbers and booleans rather than staying as plain strings.

Frequently asked questions

How does converting JSON to CSV handle nested objects?

Nested objects and arrays are converted to their JSON string form inside the relevant CSV cell, since CSV itself has no concept of nesting — this keeps the data intact rather than dropping it.

What if my JSON records have different fields?

The converter scans every record first and builds a column for every field seen across all of them; records missing a given field simply get an empty cell for that column.

Can I convert CSV back to JSON with this tool?

Yes — switch the direction toggle to CSV to JSON. Numbers, booleans, and null are automatically converted to their proper JSON types rather than left as plain text.