CSV to JSON Converter
Free CSV to JSON converter that also goes back the other way. Handles quoted fields, custom delimiters and type conversion — nothing is uploaded.
CSV is the format every system can export and no system agrees on. A spreadsheet exported in Europe uses semicolons. A field with a comma in it arrives wrapped in quotes. An address spans three lines inside a single cell. Split the file on commas and every one of those cases quietly corrupts your data.
This converter implements the actual CSV rules — quoted fields, escaped quotes, embedded delimiters and newlines — and converts in both directions. Paste or open a file, get clean JSON, or take JSON and get a spreadsheet-ready CSV back.
How to use the CSV to JSON Converter
Choose a direction
CSV to JSON, or JSON to CSV. The swap button reuses the current result as the next input.
Paste or open your data
Type directly, paste from a spreadsheet, or open a .csv or .json file from your disk.
Check the delimiter
It is detected from the first line, but you can force comma, semicolon, tab or pipe.
Choose how values are typed
With type conversion on, "42" becomes a number and "true" becomes a boolean. Off, everything stays a string.
Copy or save the result
Copy to the clipboard or download it as a file.
Why splitting on commas breaks
The CSV rules — set out in RFC 4180 — allow a field to be wrapped in double quotes, and a quoted field may contain the delimiter, a line break, or a quote character escaped by doubling it. All three appear constantly in real exports: "Sato, Yuki" is one field, not two, and a postal address routinely spans lines inside one cell.
A naive split produces extra columns, misaligned rows and silently wrong data, and it does so without any error message. That is the worst kind of bug: the output looks plausible. The parser here walks the text character by character and tracks whether it is inside quotes, which is the only way to get all four cases right.
The delimiter is not always a comma
In countries where the comma is the decimal separator — most of continental Europe, much of Latin America — Excel exports CSV with semicolons, because otherwise 1,5 would split into two fields. Tab-separated exports are common from databases and from Google Sheets. Pipes turn up in older enterprise systems.
Detection here counts candidate delimiters in the first line and takes the most frequent, which is right almost every time. When a header contains commas inside quoted text it can guess wrong, so the override is there.
Type conversion, and when to switch it off
With conversion on, 42 becomes the number 42, true becomes a boolean, and an empty cell becomes null. That is usually what you want, because JSON consumers expect real types rather than strings that look like them.
Switch it off when your data contains values that *look* numeric but are not. Postcodes, phone numbers, product codes and account numbers all lose leading zeros the moment they become numbers — 00123 turns into 123 and cannot be recovered. Long identifiers are worse: JavaScript numbers lose precision above 2^53, so a 19-digit ID silently changes its last few digits.
Going the other way
Converting JSON to CSV means flattening a tree into a grid, and some information cannot survive that. An array of objects becomes rows and columns cleanly. Nested objects and arrays are written as JSON text inside the cell, because there is no standard way to represent them otherwise.
Keys are collected across every row rather than taken from the first one, so an object with an extra field does not lose it. Any value containing a delimiter, a quote or a newline is quoted and its quotes doubled, which is what makes the output safe to reopen in a spreadsheet.
Opening the result in Excel
- Non-Latin characters look wrong. Excel assumes the local codepage unless the file starts with a UTF-8 byte-order mark. Import via Data → From Text rather than double-clicking the file.
- Everything lands in one column. Excel expected your locale's delimiter. Import and choose it explicitly.
- Leading zeros disappear. Excel is helping. Set the column type to Text during import.
- Long numbers become 1.23E+18. Same cause, same fix — import that column as Text.
Frequently asked questions
How do I convert CSV to JSON?
Paste the CSV or open the file, confirm the delimiter and whether the first row is a header, and the JSON appears alongside it ready to copy or download.
Does it handle commas inside quoted fields?
Yes. The parser follows the real CSV rules, so quoted fields containing commas, line breaks or doubled quotes are read correctly.
Is my data uploaded anywhere?
No. Everything is parsed in your browser, which makes it safe for customer lists, exports and anything else confidential.
Why did my postcode lose its leading zero?
Type conversion turned it into a number. Switch off "convert numbers and booleans" and every value stays a string.
Can it convert JSON back to CSV?
Yes. An array of objects becomes a header row plus data rows, with keys collected across every object so nothing is dropped. Nested values are written as JSON inside the cell.
What if my file uses semicolons or tabs?
The delimiter is detected automatically, and you can override it with comma, semicolon, tab or pipe if the guess is wrong.
100% private. Files are processed on your device and never uploaded.
Instant results. No upload queue. Processing time depends on your device.
Free forever. No signup, no watermark, no paid tier.
Works everywhere. Use a modern browser on your phone or computer.
Related tools
CSV to JSON Converter is one of all the free tools on ToolNest. No account or subscription needed — anywhere in the world.