JSON ↔ CSV Converter
Turn a JSON array of objects into CSV, or parse CSV back into JSON.
Columns are the union of keys across every object. Nested values are JSON-encoded.
About JSON ↔ CSV Converter
The JSON ↔ CSV Converter turns a JSON array of objects into a spreadsheet-ready CSV, or parses CSV back into JSON — the two directions of the same everyday chore: moving test data between API payloads, Excel or Google Sheets, and automated tests.
Going to CSV, the columns are the union of keys across every object, so rows with missing fields still line up, and nested values are JSON-encoded rather than lost. Going to JSON, the first row becomes the keys and numbers and booleans are inferred automatically. Quoting follows RFC 4180, so commas, quotes and line breaks inside fields survive the round trip.
How to use
- Pick the conversion under "Direction" — JSON → CSV or CSV → JSON.
- Choose the "Delimiter" your data uses: comma, tab, semicolon or pipe.
- Paste the input — a JSON array of objects, or CSV with a header row — and the result appears immediately.
- Copy the output into your spreadsheet, fixture file or API request. "Load sample" shows a small example.
Frequently asked questions
What JSON shapes can be converted to CSV?
An array of objects is the main case — each object becomes a row and each key a column. An array of arrays is emitted as rows without a header, and a single object becomes a one-row CSV.
How are nested objects and arrays handled?
A nested value is JSON-encoded into its cell (and quoted), so no data is lost. If you need nested fields as separate columns, flatten the objects before converting.
Why did a value like 007 or a long ID change when converting CSV to JSON?
Values that look numeric are converted to numbers, which drops leading zeros; very long digit strings are kept as strings to avoid precision loss. If a column must stay text (phone numbers, zip codes), quote it or post-process the JSON.
