CSV to JSON Converter
Convert CSV to JSON online, free and instantly. Runs entirely in your browser — nothing is uploaded, and there is no file size limit.
Input
Output
Ready
Drop a file to load it
About this tool
Convert CSV into JSON in a single step. CSV is the lowest common denominator for spreadsheets and data exports; JSON is the default interchange format for web APIs. The converter is structure-aware rather than a text substitution, so nesting, types and ordering are preserved.
When you would use it
- Working with CSV data in a codebase that expects JSON
- Migrating a dataset from CSV to JSON
- Inspecting CSV in a shape that is easier to read
Worked example
id,name,active,score 4815,Ada Lovelace,true,91.5 1623,Grace Hopper,false,88.0
[
{
"id": 4815,
"name": "Ada Lovelace",
"active": true,
"score": 91.5
},
{
"id": 1623,
"name": "Grace Hopper",
"active": false,
"score": 88
}
]
Things worth knowing
- The first row is treated as the header and becomes the object keys. Duplicate column names are suffixed rather than overwriting each other.
- The delimiter is detected automatically — comma, semicolon, tab or pipe.
- Values that look numeric or boolean are converted, but identifiers with leading zeros such as
01234stay strings so postcodes and IDs are not corrupted.
Questions
Frequently asked
Is CSV to JSON conversion lossless?
Yes for structure and values. Comments are dropped, since they are not data. Converting back gives you an equivalent document.
Why convert CSV to JSON?
CSV is the lowest common denominator for spreadsheets and data exports, while JSON is the default interchange format for web APIs. Converting is usually about handing data to a tool that only speaks one of them — an API client, for instance.
Is my data uploaded anywhere?
No. Every tool on JSONWorks runs entirely in your browser using JavaScript. Your input is never sent to a server, never logged and never stored. The simplest proof is to disconnect from the internet — the tools keep working. The site does load Google Fonts and a Google Analytics page-view tag, so you will see those two requests in your network tab, but neither receives anything you type or paste.
Related