toolset

CSV to JSON & JSON to CSV converter — free, no upload

Free online CSV to JSON and JSON to CSV converter. Quoted fields, custom delimiters and headers handled. Runs in your browser; your data is never uploaded.

Direction
Delimiter
JSON output

Convert between CSV and JSON in both directions. Quoted fields and custom delimiters supported.

0 chars
0 chars
All processing runs in your browser. Your data is never uploaded.
How to use this tool

How to use this tool

  1. Choose a direction

    Switch between CSV → JSON (turn a spreadsheet export into an array of objects) and JSON → CSV (turn an array of records into a spreadsheet). Both directions run instantly as you type.

  2. Paste your data and set options

    Paste your CSV or JSON. Pick the delimiter (comma, semicolon, tab or auto-detect), choose whether the first row is a header, and for JSON output choose pretty or minified. Quoted fields, escaped quotes and line breaks inside cells are handled per RFC 4180.

  3. Copy or download

    Copy the converted result or download it as a .json or .csv file. If the input is malformed you get a clear message — invalid CSV points to the line, invalid JSON tells you why.

Frequently asked questions

Frequently asked questions

Is my data sent to a server?

No. Parsing and conversion happen entirely in your browser with JavaScript — your CSV or JSON never leaves your device and nothing is uploaded. That matters when the data is a customer export, a price list, financial rows or anything you'd rather not paste into a site that logs it. Public converters have leaked exactly this kind of business data before; here it stays local.

Does it handle commas, quotes and line breaks inside fields?

Yes. The parser follows RFC 4180: fields wrapped in double quotes can contain the delimiter, double quotes (escaped by doubling them, ""), and even line breaks — all preserved correctly. It reads both LF and CRLF line endings and supports comma, semicolon and tab delimiters, with auto-detection from the header row. When writing CSV, any value containing a delimiter, quote or newline is automatically quoted and escaped.

How are nested objects and arrays handled?

CSV is a flat, two-dimensional format, so it can't represent nesting natively. When converting JSON → CSV, any nested object or array inside a record is serialised as compact JSON text inside a single cell rather than spread across columns. This is unambiguous and round-trips back, but it's not a true flattening — if you need nested fields as separate columns, flatten the JSON before converting. We're upfront about this rather than silently dropping data.

What shape of JSON can I convert to CSV?

An array is required. An array of objects becomes a table whose header is the union of all keys, in the order they first appear; rows missing a key get an empty cell. An array of arrays is written row-for-row. An array of primitives becomes a single 'value' column. A bare object, number or string isn't a table — wrap it in [ ... ] first. You'll get a clear ERR_CSV_JSON_NOT_ARRAY message explaining this rather than a broken file.

Related tools