CSV to JSON converter
Convert a CSV table to an array of JSON objects, with numbers, booleans and nested objects preserved. Runs in your browser, free, no sign-up.
Result
Add a CSV and click Convert. The JSON file shows up here.
What to do next
How it works
Add a CSV and click Convert. The header row becomes the keys and each row becomes an object in an array. Encoding and delimiter are detected automatically.
With the nested objects option on, a dotted header like address.city is grouped into { "address": { "city": ... } }.
Things to know
Empty cells are written as empty strings (""). If two headers have the same name, the second is renamed name_2 so no key is overwritten.
Frequently asked questions
What shape is the JSON?
An array with one object per row, for example [{ "name": "Jane Doe", "age": 30 }, ...], saved with two-space indentation.
Numbers come out as strings.
Turn on Numbers and true/false as values and 123 becomes 123 and true becomes true. Values with a leading zero (such as phone numbers) and numbers longer than 15 digits stay strings to preserve precision.
Accented or non-Latin characters look garbled when I open the CSV in Excel.
Excel misreads a UTF-8 CSV that has no byte order mark (BOM) and treats it as a legacy encoding, so the characters come out wrong. Here, UTF-8 and EUC-KR (a legacy Korean encoding) are told apart automatically when reading, and a UTF-8 BOM is added by default when saving so Excel opens it correctly.
Do my files get uploaded anywhere?
No. Everything runs inside this browser tab and the files never leave your device. The results disappear when you close the page, so save what you need.