CSV to JSON Converter
Turn a spreadsheet export into clean JSON an API will accept. 100% free, no signup. Everything runs in your browser.
Most data starts life in a spreadsheet and most software wants JSON, so this conversion happens constantly. This free CSV to JSON converter does it in your browser, with the details that usually go wrong handled properly. It reads quoted fields containing commas and line breaks, renames duplicate column headings so the keys stay unique, and is careful about types: it will turn 42 into a number and true into a boolean, but it leaves 01234 as text, because a leading zero means someone is storing a postcode or an account number rather than arithmetic. You can output an array of objects, an array of arrays, or an object keyed by the first column, which is the shape you want for lookups.
How to use
- Paste your CSV into the box, or choose a file. Anything copied out of Excel or Google Sheets pastes as tab separated and is detected automatically.
- Leave the separator on automatic unless the detection guesses wrong, which happens occasionally with files that have very few columns.
- Pick the shape. Array of objects is what almost every API expects. Keyed by the first column gives you a lookup table, so you can fetch a record by its id without searching.
- Decide whether to convert types. Leave it on for data going into an application, turn it off when every value must stay exactly as written.
- Copy the JSON or download it as a file. The counts show how many records and keys were produced and how large the output is.
Why use our csv to json converter?
Type conversion is where these converters usually cause damage. Being clever about it means turning 007 into 7 and destroying an employee number, or turning a long order reference into scientific notation. The rule here is deliberately narrow: only plain integers and decimals become numbers, and any value with a leading zero, a plus sign or anything else unusual stays as a string. That is the opposite of what a spreadsheet does to the same data, and it is the behavior you want when the output is going into a database.
Duplicate headings are the other quiet failure. CSV allows two columns to be called Name; JSON does not allow two keys with the same name, so one silently overwrites the other and a column of data disappears. Here the second becomes Name_2 and the note tells you it happened, so you find out at conversion time rather than when something downstream is missing a field.
Who is this tool for?
Developers loading a client's spreadsheet into an application do this on almost every project, usually with data that has been edited by hand and cannot be trusted. Being able to see the record count and key count before importing catches the obvious problems immediately.
It is also used to seed test data, to prepare content for a headless CMS, and to convert exports for a system that only accepts JSON. If you need to go the other way, our JSON to CSV converter handles that, and CSV viewer is worth a look first if the file is messy enough that you want to see it before converting.
Frequently asked questions
Array of objects for almost everything, since that is what APIs and databases expect. Array of arrays when position matters more than names and you want the smallest output. Keyed by the first column when you want to look records up by id rather than searching a list.
Because it had a leading zero, a plus sign or some other character that means it is an identifier rather than a quantity. Converting those loses information, so they are left alone deliberately. Turn off type conversion if you want everything as text.
The second is renamed with a suffix, so Name and Name become Name and Name_2, and a note tells you it happened. Without that one of the columns would vanish, because JSON keys must be unique.
Yes, provided the value is quoted, which is what any correct CSV writer does. Line breaks inside quoted values are handled too, which is where simpler converters usually break.
No. It is read and converted entirely in your browser. Nothing is transmitted, which matters because spreadsheets exported from real systems tend to contain personal data.
Save or export as CSV first. The .xlsx format is a zipped bundle of XML rather than text, so it needs different handling. Most spreadsheet programs offer Save As with CSV in the list.

