CSV to JSON Converter
Paste CSV rows and get an array of JSON objects, with the header as keys. Quoted fields, embedded commas and line breaks are handled the way a spreadsheet writes them.
CSV
JSON
About this tool
A spreadsheet export is a grid; most code wants a list of objects. This converter reads the header row for the key names and turns every following row into one object, parsing quoted fields properly — a field wrapped in quotes may hold the delimiter, a newline or a doubled quote without breaking the row. Values that look like numbers or booleans become real JSON types, except where that would destroy the data, such as a postcode with a leading zero.
How to use it
- 1Paste your CSV — including the header row — into the left panel.
- 2Leave the delimiter on Auto, or pick it yourself if the guess is wrong.
- 3Copy the JSON, or switch the output to Tree to inspect the rows.
Frequently asked questions
›How does it know where the columns are?
The first row is the header, and each following row becomes one object keyed by those names. With the delimiter on Auto, the separator that splits the header into the most fields wins — comma, semicolon, tab or pipe.
›Are numbers converted, or kept as strings?
Numbers and true/false are converted to real JSON types. Two exceptions stay strings on purpose: values with a leading zero, so a postcode like 01234 is not mangled into 1234, and digit strings too long to survive a JavaScript number without losing precision.
›Does it handle quoted fields with commas or line breaks inside?
Yes. Quoted fields may contain the delimiter, line breaks and doubled quotes ("" for a literal quote) — the RFC 4180 rules that Excel and Google Sheets write.
›What happens to empty cells and missing columns?
An empty cell becomes an empty string, and a row shorter than the header gets empty strings for the rest, so every object has the same keys.
›My header row has an empty column name.
It is named column1, column2 and so on by position, so no field is silently dropped.