CSV to JSON Converter
Paste CSV from a spreadsheet or export and get clean JSON. Choose the delimiter and whether the first row contains column names.
0 characters
0 characters
Processed locallyFiles and text are processed in your browser and are not uploaded to our servers.Learn more
Need the opposite? JSON to CSV
How to convert CSV to JSON
- 01
Paste your CSV
Copy it from a spreadsheet, database export or text file.
- 02
Set delimiter and header
Comma, semicolon or tab. Keep First row is a header on to get named keys.
- 03
Convert and copy
The JSON is indented with two spaces. Copy it or download a .json file.
How the CSV is parsed
- Fields wrapped in double quotes may contain the delimiter and line breaks.
- A double quote inside a quoted field is written as two quotes: "say ""hi""".
- Both Windows (CRLF) and Unix (LF) line endings work, and a byte-order mark at the start is ignored.
- A trailing line break does not add an empty row; blank rows in the middle are kept.
What the JSON looks like
- With a header row, every data row becomes an object: [{ "name": "Ada", "age": "36" }].
- Without a header row, the result is an array of arrays.
- All values stay strings. "36" is not turned into the number 36, so leading zeros and long IDs are never altered.
- Column names must be unique and every row must have the same number of fields, so no cell is silently dropped.
Related tools
Frequently asked questions
How are CSV headers used?
With First row is a header switched on, the first row supplies the keys for every object. Switch it off to get each row as a plain array.
How are quotes and delimiters parsed?
A field in double quotes can contain commas, semicolons, tabs and line breaks. Two double quotes in a row inside a quoted field become one literal quote.
My CSV from Excel uses semicolons. Will that work?
Yes. Excel in many European locales exports with semicolons. Set Delimiter to Semicolon.
Why are numbers in quotes in the output?
CSV has no data types, so the converter keeps every value exactly as text. That preserves postcodes, phone numbers and IDs with leading zeros.
Why do I get a column error?
Either two columns share the same header, or a row has more or fewer fields than the header. Fix the row, or check the delimiter setting.