How to convert CSV to JSON
- Paste CSV or open the file. The JSON updates as you type.
- Leave Delimiter on Detect or pick one. Header row turns the first line into keys.
- Press ⇄ to send the JSON to JSON to CSV.
Example: a semicolon export
Spreadsheets in many European locales save CSV with semicolons:
order_id;customer;total;paid;zip
1001;Anna Kowalska;149,90;TRUE;02134
1002;"Jansen; B.V.";89.5;false;
1003;Luca Rossi;12;true;0451
Output with the defaults, plus the note Delimiter detected: ";".:
[
{
"order_id": 1001,
"customer": "Anna Kowalska",
"total": "149,90",
"paid": true,
"zip": 2134
},
{
"order_id": 1002,
"customer": "Jansen; B.V.",
"total": 89.5,
"paid": false,
"zip": null
},
{
"order_id": 1003,
"customer": "Luca Rossi",
"total": 12,
"paid": true,
"zip": 451
}
]
"Jansen; B.V." is quoted, so it stays one field.
What Numbers & booleans changes
With Numbers & booleans on (the default):
1001and89.5become numbers;true,TRUEandfalsebecome booleans.- Empty cells become
null. 149,90stays text: only a dot counts as a decimal point.- Leading zeros are lost:
02134became2134. - Integers too large for JavaScript (above 9,007,199,254,740,991) stay strings, so long IDs keep every digit.
Off, every value stays as written: "02134", "TRUE", and "" for empty cells.
Rows that do not line up
Rows with more or fewer fields than the header still convert, and a note counts them. Missing fields are left out of that row’s object; extra values go into a __parsed_extra array. An unclosed quote stops the conversion with the row number.
View the result as a grid in JSON to table or generate types with JSON to TypeScript.