About this json ↔ csv
CSV does not define JSON types or nested objects, so a converter needs a stated mapping. JSON to CSV here accepts an array of objects, builds a deterministic union of their keys, and writes one record per row.
CSV to JSON treats the first row as unique, non-empty headers. Every cell stays a string by default; optional inference converts exact unquoted booleans, null and safely representable JSON numbers.
Converting between JSON and CSV is a constant task in data engineering, ETL pipelines, and spreadsheet workflows. JSON offers structure and type information, while CSV is the universal format for spreadsheets, databases, and legacy systems. Manual conversion is error-prone; this free JSON to CSV converter handles the complexity automatically, from quoted field escaping to proper line ending normalization.
The bidirectional converter intelligently maps between formats. JSON to CSV accepts arrays of objects and builds a deterministic column list, perfect for exporting API data to Excel or Google Sheets. CSV to JSON treats the first row as headers and converts each row to an object, letting you import spreadsheet data directly into your JavaScript, Python, or Java applications. Optional type inference recognizes booleans, nulls, and safe numbers, while preserving string values by default to prevent data loss.
Real-world data includes commas, quotes, and newlines within fields—the converter handles them all. RFC 4180 compliance ensures your CSV exports open correctly in any spreadsheet or database import tool. Add UTF-8 BOM for Excel compatibility on Windows, or omit it for portability. All conversion happens locally in your browser; large files stay private and process instantly without server uploads.
How to use this tool
-
01
Select the direction
Use JSON to CSV for an array of record objects, or CSV to JSON for a table whose first row contains headers.
-
02
Choose explicit options
A BOM is optional for CSV export. Type inference is off by default because CSV itself carries no type information.
-
03
Review before opening
Check the converted data, especially blanks and nested values, then copy or download the result.
Worked examples
Two JSON records to CSV
[{"name":"Ada","active":true},{"name":"Grace","active":false}]name,active
Ada,true
Grace,falseCommas and quotes are escaped
[{"note":"Hello, \"world\""}]note
"Hello, ""world"""Limits and edge cases
- RFC 4180 documents a common CSV format rather than every dialect. Export uses commas, double quotes and CRLF row endings; import also accepts LF and CR.
- Missing values, null and empty strings all become blank CSV fields. That distinction cannot be recovered without an application-specific convention.
- Nested arrays and objects are exported as JSON text inside one cell and are not recursively restored during CSV import.
- JSON input with duplicate object names or numbers outside JavaScript’s safe precision and range is rejected to avoid silent data loss.
- Cells beginning with =, +, - or @ may be interpreted as formulas by spreadsheet software. Review untrusted content before opening an exported file in a spreadsheet.
Standards and references
Common questions
Why must JSON input be an array of objects?
A CSV table needs rows and columns. An array supplies rows and each object supplies named columns, making the mapping predictable.
Will CSV to JSON preserve number-like IDs?
Yes by default because every cell stays a string. If you enable inference, unsafe integers still remain strings to avoid losing digits.