Skip to content

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

  1. 01

    Paste your CSV

    Copy it from a spreadsheet, database export or text file.

  2. 02

    Set delimiter and header

    Comma, semicolon or tab. Keep First row is a header on to get named keys.

  3. 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.