About CSV to JSON
This converts a CSV — from a spreadsheet export, a database dump or a report — into a JSON array of objects that code can consume directly. It's the everyday step for feeding spreadsheet data into an app, seeding a database or API, or turning a colleague's CSV into something you can work with programmatically. Paste the CSV and get clean, indented JSON back.
How it works
The CSV is parsed with a proper parser that understands quoted fields — so commas, quotes and line breaks inside a quoted value are handled correctly, and doubled quotes ("") are read as a literal quote. The first row is used as the object keys, and each following row becomes an object mapping those keys to values. Completely empty rows are skipped. With type conversion on, cells that look like numbers become numbers and true/false become booleans; otherwise every value stays a string. The output is pretty-printed JSON.
Assumptions and behaviour
- The first row is the header and supplies the JSON keys.
- Quoted fields are fully supported: commas, newlines and escaped quotes inside quotes don't break the parse.
- Empty rows are dropped, so trailing blank lines don't create empty objects.
- Type conversion is optional. With it off, all values are strings — safe for data like ZIP codes or IDs with leading zeros. With it on, clean numeric and boolean values are typed.
Limitations
- A header row is required. Without meaningful headers in the first row, the keys will be whatever that row contains.
- Duplicate column names collide — two columns with the same header map to the same key, so the later value overwrites the earlier one.
- Type conversion is deliberately strict. It only converts clean numbers and exact
true/false; it won't parse dates, currency, or numbers with thousands separators, and turning it on can strip leading zeros from things like IDs. - It produces a flat array of objects; it doesn't build nested structures from the CSV.
Privacy
Conversion runs entirely in your browser. Your CSV and the resulting JSON never leave your device.

