JSON to CSV Converter — Free Online Tool
Last updated: 2026-03-14
Your API returns JSON but your boss wants a spreadsheet. Or your data analyst needs CSV for their R script. JSON-to-CSV conversion sounds simple until you hit nested objects, arrays inside arrays, and inconsistent schemas.
The Flattening Problem
CSV is flat (rows and columns). JSON is hierarchical (objects inside objects). Converting means flattening, and there are multiple valid ways to flatten:
| JSON Structure | Flattening Method | CSV Result |
|---|---|---|
{"user":{"name":"Alice"}} | Dot notation | Column: user.name |
{"tags":["a","b","c"]} | Join with delimiter | Column: tags, Value: a;b;c |
{"items":[{"id":1},{"id":2}]} | Expand to rows | One row per item |
| Mixed types in same field | String coercion | Everything becomes text |
When JSON-to-CSV Loses Information
Be aware of what gets lost:
- Data types. JSON distinguishes numbers, strings, booleans, and null. CSV treats everything as text.
- Nested structure. The hierarchy is flattened into column names. Reconstructing the original structure from CSV is not always possible.
- Arrays of different lengths. If one record has 3 tags and another has 7, the CSV either has 7 tag columns (mostly empty) or joins them into one column.
Convert your JSON to CSV — free, instant, handles nested data.
Open JSON to CSV Converter →Related Tools
JSON to CSV — Convert JSON to CSV
CSV to JSON — Convert CSV to JSON
JSON Formatter — Pretty-print JSON
JSON Validator — Validate JSON syntax
CSV Viewer — View CSV as table
XML to JSON — Convert XML
According to json.org, JSON supports six data types that have no direct CSV equivalent.
As RFC 4180 specifies, CSV fields containing commas, quotes, or newlines must be enclosed in double quotes.