Paste CSV text and the page parses it using the standard CSV rules: fields can be wrapped in double quotes so they may contain the delimiter or line breaks, and a doubled quote inside a quoted field means one literal quote. With the header option on, the first row gives the key names and the result is an array of objects, one per data row. With it off, you get an array of arrays. The optional conversion turns values such as 34 into numbers, true and false into booleans and empty cells into null; leave it off to keep every value as a string. Excel exports often use a semicolon or tab, so change the delimiter if everything lands in one column.
| CSV input | JSON output |
|---|---|
name,age,city | [{"name":"Ann","age":34,"city":"Leeds"},{"name":"Bo","age":28,"city":"York, UK"}] |
Paste your CSV into the box. The JSON appears below right away; click Copy JSON to copy it. Pick the right delimiter if your file uses semicolons, tabs or pipes.
Your file probably uses a different delimiter than a comma. Excel in many European countries saves CSV with semicolons. Choose semicolon or tab in the delimiter menu.
In valid CSV such a value is wrapped in double quotes, like "York, UK", and the converter keeps it as one value. A quote inside a quoted value is written as two quotes.
It runs in your browser, so very large files (tens of megabytes) may be slow. For normal spreadsheets with thousands of rows it is instant.
No. The conversion happens locally and nothing is sent or stored.
Rows with fewer cells than the header get null (or empty) for the missing keys; extra cells are named column_N.
See also: JSON to CSV converter · JSON formatter · text diff checker · remove duplicate lines · sort lines · all tools