CSV → JSON
Converts a table to JSON row by row.
This tool runs on JavaScript. To use it, turn on JavaScript in your browser and reload the page.
STRUCTURED DATA FROM A TABLE.
CSV → JSON turns a CSV or TSV table into JSON. The first row is used as the header: each row becomes a JSON object whose keys are the column names. If you switch the header option off, each row is moved as an array. It is used to move data exported from a spreadsheet into a web application, an API, a configuration file or a code project.
The column separator is found by itself: whichever of comma, semicolon, tab and pipe appears the most consistent number of times in every one of the first rows is chosen; you can also set it by hand if you want. The encoding of the file is found by itself too, so the ş, ğ and ı letters in old Turkish Windows files are not spoiled. The output is indented with 2 or 4 spaces or with a tab. The “JSONL” option writes each record on its own line; tools that process large data line by line expect that format. Values are moved as text and are not turned into numbers. Files up to 32 MB can be uploaded. You can upload up to 20 files at once; they are all processed with the same settings, and several files download as a single ZIP.
From start to finish
- Upload your CSV file. Drag a CSV, TSV or TXT file in or select it.
- Choose the separator and the format. “Detect automatically” works correctly for most files. If the first row is not a header, switch the option off.
- Convert and download. Download the JSON once it is ready. The number of records and the separator that was found are written on screen.
Frequently asked questions
Why are the numbers in quotes?
In CSV every value is text and the tool does not guess the type; that way the leading zero in a value such as “007” is preserved too. You can do the conversion to numbers in the program you are going to use.
The separator was found wrongly.
Choose the right one by hand from the separator option. Spreadsheets set to Turkish mostly use a semicolon.
What happens to an empty header cell?
A column whose header is empty is given a name such as “sutun3” according to its position; no data is lost.
Does my file stay on the server?
No. Your file reaches the server only to be processed and is deleted when the job is done; the output is deleted too once you download it and leave the tool. You don't need an account, a name or an email address, and your files are never sent to a third-party service. It is free to use: we set no hourly or daily quota on the number of jobs, we don't make you watch an ad before processing, and we add no watermark to the output.
Other File tools
RUPO Studio