How to Convert CSV to JSON
Paste your CSV and set the delimiter
Paste your CSV into the input box, making sure the first line is the header row. Then pick the matching delimiter button - comma, semicolon, or tab - so the columns split correctly. The conversion runs in your browser, so nothing is sent to a server.
Click Convert to JSON
The first row becomes the object keys and every following non-empty line becomes one object in the array. Quoted fields that contain the delimiter, and doubled quotes inside them, are parsed correctly. The output appears pretty-printed with two-space indentation.
Copy or reuse the result
Use the Copy button to place the JSON array on your clipboard, ready to paste into code, an API request, or a config file. Click Clear to empty both boxes and start over with new data.
CSV vs JSON for Working With Data
CSV and JSON describe the same tabular data in very different shapes. CSV is compact and spreadsheet-friendly, while JSON is structured and ready for code. The table below shows where each format fits and what this converter produces when it bridges the two.
| Aspect | CSV (input) | JSON (output) |
|---|---|---|
| Structure | Rows and columns separated by a delimiter | Array of objects with named keys |
| Keys / headers | Single header line on top | Header values become each object's keys |
| Best for | Spreadsheets, exports, bulk editing | APIs, JavaScript, config, NoSQL stores |
| Value types | Everything is plain text | This tool keeps values as strings, not numbers or booleans |
| Nesting | Flat only | Flat objects here, one level per row |
| Readability in code | Needs parsing to use | Loads directly with JSON.parse |
Is This Converter Right for Your Data
Quick API payloads
Great fit. Turn a small spreadsheet export into a JSON array you can drop straight into a request body or a test fixture, all in the browser.
Standard delimited files
Good fit. Comma, semicolon, and tab separated data with a clear header row converts cleanly, including quoted fields that contain the delimiter.
Typed or nested output
Limited. Every value stays a string and each row maps to a flat object. If you need real numbers, booleans, or nested objects, post-process the JSON afterward.
Very large datasets
Use with care. Conversion happens in memory in your browser, so multi-megabyte files may be slow. For huge files a streaming command-line tool is a better choice.
Common Problems and Fixes
Columns end up merged into one key
The selected delimiter does not match your file. If your data uses semicolons or tabs instead of commas, click the matching delimiter button before converting so each column splits correctly.
"CSV must have at least a header row and one data row"
The input has fewer than two lines. The first line is always treated as headers, so you need at least one more line of values below it for the converter to produce objects.
Numbers appear wrapped in quotes
This is expected. The converter preserves every field as a string and does not guess types, which avoids corrupting IDs or codes with leading zeros. Convert specific fields to numbers in your own code if needed.
Some rows are missing or shifted
Blank lines are skipped, and a row with fewer values than headers leaves the extra keys as empty strings. Make sure commas inside a value are wrapped in double quotes so they are not read as column breaks.