JSON ↔ CSV

JSON ↔ CSV converter

Turn a JSON array into a spreadsheet-ready CSV, or a CSV export into JSON — with proper quoting for commas, quotes and newlines.

0 characters

Direction

Conversion happens in this tab. Nothing is uploaded, so exported reports and customer lists stay on your device.

Short answer: JSON → CSV flattens an array of objects into columns; CSV → JSON turns rows back into objects using the header. Commas, quotes and newlines inside a field are handled by the standard quoting rules — the thing naive converters get wrong.

The quoting rules that matter

RFC 4180 says a field may be quoted, a quote inside a quoted field is written twice, and a line break inside quotes belongs to the field. That is why a split-on-comma parser turns"Smith, J" into two cells and shifts every later column. This converter quotes only the fields that need it, so the output stays readable in a spreadsheet.

Rules this converter enforces

Need to tidy the JSON first? The JSON formatter sorts keys and shows the exact line of a syntax error. To compare two exports, use thetext diff.

CSV conversion questions

How do I convert JSON to CSV?

Paste an array of objects and the CSV appears as you type. Each key becomes a column, in first-seen order; missing values become empty cells and nested objects keep their JSON text inside the cell. Choose comma, semicolon or tab, then copy or download the file.

How do I convert CSV to JSON?

Paste the CSV and it becomes an array of objects keyed by the header row. The parser follows RFC 4180, so a field containing a comma, a doubled quote or a line break stays one field. Unterminated quotes and ragged rows are reported with their line number instead of producing a shifted table.

Why was my row rejected?

Because it had a different number of cells from the header. Spreadsheets tolerate that; JSON objects cannot, so the tool stops and names the row. Fix the stray delimiter or pad the short row with empty values.

What happens to nested objects and arrays?

They are written as their JSON text inside a quoted cell, so nothing is lost and nothing becomes "[object Object]". Re-importing that CSV gives you strings rather than objects, which is the honest limit of a flat table format.

Does my spreadsheet data get uploaded?

No. Parsing and serialising happen in the tab with no upload endpoint, so customer lists and exported reports stay on your device.

Related tools