About this tool
The JSON to CSV converter turns arrays and objects into correctly quoted tabular text, and parses CSV back into JSON records. JSON input may be one object, an array of objects, or an array of primitive values. Columns follow the first-seen key order across every row, so fields introduced by later objects are not discarded.
Conversion is live and remains inside the browser. Nested objects can be flattened into dotted keys, arrays become JSON strings, and the header row can be omitted. In the reverse direction, Papa Parse detects delimiters, reports row errors, and can convert recognizable numbers and booleans. A scroll-contained table previews the first fifty records without widening the page.
How to use the JSON ↔ CSV
- 1Choose JSON to CSV or CSV to JSON direction.
- 2Paste data, load the included sample, or open a local file.
- 3Set delimiters, flattening, headers, typing, or indentation as needed.
- 4Review conversion errors and inspect the first fifty table rows.
- 5Copy the result or download data.csv or data.json.
Features
Unioned JSON columns
Collect keys from every object in first-seen order instead of considering only the first row.
Dotted nested flattening
Turn nested object paths into headings such as customer.address.city while preserving arrays as JSON text.
Standards-aware CSV quoting
Use Papa Parse to protect delimiters, quotation marks, and embedded newlines with valid CSV escaping.
Automatic value typing
Optionally convert recognizable CSV numbers and booleans into their matching JSON primitive types.
Bounded data preview
Inspect up to fifty records in a horizontally scrolling table with a sticky header and dimensions summary.
Frequently asked questions
What JSON shapes can be converted to CSV?
Use an array of objects for ordinary rows, one object for a single row, or an array of primitive values. Primitive entries are placed under a column named value.
How are nested objects and arrays represented in CSV?
With flattening enabled, nested object keys become dotted paths. Arrays are serialized as JSON strings so their brackets, order, strings, and other values remain represented inside one CSV cell.
How does the converter choose CSV columns?
It visits each row in order and adds every key the first time that key appears. Later rows can therefore introduce new columns, while missing values produce empty cells.
Can CSV numbers remain strings in the JSON output?
Yes. Turn off Convert numbers and booleans to keep parsed cell values as strings. Leave it enabled to let Papa Parse dynamically type recognizable numeric and boolean content.
Are opened JSON or CSV files uploaded?
No. File reading, parsing, quoting, preview generation, copying, and download creation all occur within the active browser page, with no server conversion step.