CSV to JSON Converter
Last updated: October 1, 2026
What is CSV to JSON Converter?
Turn a CSV into JSON — an array of objects or an object keyed by row index, pretty-printed or minified. The delimiter is detected for you, quoted fields are parsed properly, and nothing is uploaded: the file is read and converted in your browser.
Turn off number detection if you have IDs
Start here, because this is the setting that silently damages data.
Auto-convert numbers is on by default, and it turns anything that looks numeric into a JSON number. For actual quantities and prices that is what you want. For identifiers it is destructive: "007" becomes 7, a postcode like 01234 becomes 1234, and a long account or order number can lose its exact value once it stops being a string.
The rule is simple. If a column is an identifier rather than a quantity — customer ID, order number, postcode or zip, phone number, SKU, account number, anything with a leading zero — set Number Detection to Keep as strings. You can convert the genuinely numeric columns yourself afterwards, and that is far easier than discovering three weeks later that every ID beginning with zero is wrong.
A useful test: would you ever do arithmetic on this column? Phone numbers and zip codes are digits, not numbers.
The delimiter is worked out for you
CSV is barely a standard. Files exported in much of Europe use semicolons, because the comma is the decimal separator there. Tab-separated files are everywhere. Some systems emit pipes.
Rather than making you pick, this scans the start of the file, counts commas, semicolons, tabs and pipes, and uses whichever dominates. In practice that means a file from a German or French system just works, which is the usual reason a CSV converter appears to produce one enormous single-column mess.
Quoted fields are handled properly
The other classic failure. A CSV field containing a comma is wrapped in quotes — "Smith, John" is one field, not two — and a quote inside a quoted field is doubled, as in "She said ""no""".
Converters that split on the delimiter get both of these wrong, which is why a file with addresses or free-text notes comes out with rows of different lengths and values shifted into the wrong keys. This parses quotes properly, so those fields survive intact.
One real limitation to know about: a quoted field containing an actual line break is not supported. Exported description, address and comment columns sometimes contain them, and because the file is divided into lines before the fields are parsed, such a field will split across rows and misalign the data. If your JSON comes out with more rows than the spreadsheet had, or values in the wrong keys, that is the cause — the fix is to strip the newlines out of those cells before exporting.
Array of objects, or keyed by index
Array of objects is the default and what you want almost always: [{"name":"Ada","role":"eng"}, …]. It is what APIs expect in a request body, what every language iterates over naturally, and what a test fixture looks like.
Indexed object gives {"0":{…},"1":{…}} instead. Useful when a consumer needs to address a row by position without scanning, or when some existing code expects that shape. Otherwise the array is simpler to work with.
If the first row is not headers, switch First Row to Use Column Indices and the keys become "0", "1", "2" — the right choice for a raw data dump with no header line.
Pretty or minified
Two-space indentation is the default and correct for anything a person will read, paste into a code review, or commit. Minified is for payloads and storage, where the whitespace is just bytes. It makes no difference to what a parser does with it.
The output shows the row and column count so you can sanity-check against your spreadsheet before using it — if the row count is off, look for the line-break problem above.
Nothing leaves your browser
Worth stating for this tool specifically. A CSV is almost always an export of something real: a customer list, a payroll run, transactions, survey responses with names in them. Pasting that into a web converter means handing the whole table to whoever runs it. Here the file is read and parsed on your own machine.
Related tools
JSON to CSV Converter goes back the other way when you need to open API output in a spreadsheet. CSV to Excel Converter produces a real .xlsx instead, and Excel to CSV Converter gets a spreadsheet into CSV in the first place.
How to Use CSV to JSON Converter
-
Upload CSV
Upload your .csv file. The tool auto-detects the delimiter.
-
Choose Format
Select output format: array of objects, indexed object, or number auto-detection.
-
Copy or Download
View the JSON in the preview area, then copy to clipboard or download as .json.
Features
Auto Number Detection
Optionally converts numeric strings to JSON numbers automatically.
Pretty Print
Output formatted with 2-space indentation for readability, or minified for production.
Live Preview
See the first 3 parsed objects before downloading to verify your data.