CSV to JSON converter

Drop a CSV and get a JSON array of objects, one object per row, with the header row used as the keys. The file stays on your computer. This is a free tool from CSV Fixer.

Drop a CSV here, or click to choose a file

How it works and when to use it

The tool reads your file in the browser, works out the text encoding and the separator (comma, semicolon, tab or pipe), and splits it into rows with a standard CSV parser. Commas and line breaks inside quoted cells are handled correctly. The first row becomes the property names, and every following row becomes one object in the array.

Use it when an API, a JavaScript app or a database import wants JSON but your data lives in a spreadsheet export. If two columns share a name, the second is renamed (name_2); a blank header becomes column_3, using its position. Values are kept as text by default, so a zip code such as 02134 or a long ID is never changed. Tick the number option only when you want numeric values, and note that numbers with leading zeros or more than 15 digits stay text either way.

The conversion runs in your browser tab. No file is sent to a server, which makes it safe for customer lists and other private data. Files are limited to 50 MB.

FAQ

Does my CSV get uploaded?

No. The file is read and converted by JavaScript on this page. You can check the network tab in your browser's developer tools: nothing is sent while you convert.

What if my CSV uses semicolons or tabs?

The separator is detected automatically, so files exported from Excel in many European locales work without any setting.

Why are all my numbers in quotes?

By default every value is written as text so nothing is altered. Tick "Write plain numbers and true/false as JSON numbers and booleans" to get unquoted numbers.