↑↓ to navigateEnter to openEsc to close

JSON & data

JSON to CSV & CSV to JSON Converter

Convert arrays of JSON records to RFC-style CSV, or turn a header-based CSV file into JSON objects.

JSON ↔ CSV workspace

Choose a direction and add your data. Ctrl/Cmd+Enter converts.

Processed locally

Your input stays in this browser tab. This tool makes no upload or API request and does not save input history.

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

  1. 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.

  2. 02

    Choose explicit options

    A BOM is optional for CSV export. Type inference is off by default because CSV itself carries no type information.

  3. 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

Input
[{"name":"Ada","active":true},{"name":"Grace","active":false}]
Result
name,active
Ada,true
Grace,false

Commas and quotes are escaped

Input
[{"note":"Hello, \"world\""}]
Result
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.