CSV ↔ JSON Converter
Convert between CSV and JSON, with automatic type inference and a choice of comma, tab, or semicolon delimiters.
How to use the CSV ↔ JSON Converter
- Pick your delimiter in the Delimiter dropdown (Comma, Tab, or Semicolon) — this drives both directions.
- Paste CSV into the left panel to generate matching JSON on the right, or paste a JSON array of objects into the right panel to generate matching CSV on the left.
- Or click Upload above the CSV panel to load a
.csvfile from your device instead of pasting. - Both panels stay live and editable — keep typing in either one and the other updates automatically a moment after you stop.
- Copy or download either panel's contents with its dedicated buttons.
See it in action
Given this CSV:
name,age,active,note
Ada,30,true,Loves algorithms
Grace,40,false,
The converter produces:
[
{
"name": "Ada",
"age": 30,
"active": true,
"note": "Loves algorithms"
},
{
"name": "Grace",
"age": 40,
"active": false,
"note": null
}
]
Notice age became a real number, active became a real boolean, and Grace's empty note cell became null — all inferred automatically, not left as strings the way a naive CSV-to-JSON conversion would.
How This Tool Works
Whichever panel you edit drives the other: typing in the CSV panel parses it and generates matching JSON on the right, and typing (or pasting) JSON generates matching CSV on the left — there's no separate convert button or mode switch. Nothing you paste is ever sent to a server; parsing and generation both run entirely in your browser.
Converting CSV to JSON automatically infers value types from each cell: `true`/`false` becomes a boolean, an empty cell becomes `null`, and a number-looking cell becomes a JSON number — except a value like `0123` that starts with a leading zero, which stays a string so a code, zip, or ID isn't silently corrupted by dropping its leading zero.
The Delimiter dropdown controls both directions at once: Comma, Tab, or Semicolon. It isn't auto-detected — pick the one that matches your data before pasting, especially for a Tab-separated (TSV) file or a semicolon-delimited export (common from European-locale spreadsheet tools).
Converting JSON to CSV expects a flat JSON array of objects — an object nested inside a field (like an `address` object) isn't supported and produces an error naming the offending field, rather than silently flattening or dropping it. If the objects in your array don't all have the same keys, the CSV columns are the union of every key across all of them, with a blank cell wherever a given object doesn't have that key.