About this CSV to JSON converter
Spreadsheets and database exports speak CSV, while web apps and APIs expect JSON. This converter reads CSV the way the RFC 4180 standard describes it, so values in quotes may contain commas, quotes written as "", and even line breaks. It detects whether your file uses commas, tabs, semicolons, or pipes, uses the header row as keys, and can turn numbers, true and false, and empty cells into real JSON types. Values with leading zeros, such as ZIP codes, stay text so nothing is lost. The output can be a list of objects, a list of arrays, one array per column, or NDJSON for streaming and log tools.
How to convert CSV to JSON
- Add your CSV. Paste it, press Upload CSV file, or press an example. An example only fills the box.
- Check the settings. Leave the delimiter on Auto-detect, pick an output format and indentation, and switch the header, trim, type, and empty-row options if needed.
- Press Convert to JSON. The JSON appears below with the number of rows and columns.
- Copy or download. Press Copy JSON or Download to save the file.
Frequently asked questions
How are numbers and booleans detected?
With Detect numbers, booleans, and null on, 42 and 3.5 become numbers, true and false (any capitalization) become booleans, and empty cells and the word null become null. Values with a leading zero, such as 02134, and numbers longer than 15 digits stay as text so they are not changed.
What if two columns have the same name?
The second one gets a number added, such as email_2, so no data is overwritten. Empty header cells are named column1, column2, and so on.
Can a value contain a comma or a line break?
Yes, if it is wrapped in double quotes, as spreadsheet programs do when they export. A quote inside a quoted value is written as two quotes ("").
What is NDJSON?
Newline-delimited JSON: one JSON object per line with no surrounding array. Log tools, BigQuery, and many streaming systems read it line by line.
Why do European CSV files use semicolons?
In many European locales the comma is the decimal separator, so spreadsheets use ; between columns. Auto-detect finds it, but numbers such as 12,50 stay text because JSON numbers use a dot.