CSV to JSON Converter

Convert CSV or TSV data into a JSON array, with quoted fields, auto-detected delimiters and optional number detection.

JSON
[
  {
    "id": 1,
    "name": "Ada Lovelace",
    "city": "London",
    "active": true
  },
  {
    "id": 2,
    "name": "Hopper, Grace",
    "city": "New York",
    "active": false
  },
  {
    "id": 3,
    "name": "Alan \"The Prof\" Turing",
    "city": "Wilmslow",
    "active": null
  }
]
Records
3
Columns
4
Filled cells per column
idid — Non-empty: 33namename — Non-empty: 33citycity — Non-empty: 33activeactive — Non-empty: 22

Runs entirely in your browser. Nothing you enter is uploaded.

How it works

Each CSV row becomes a JSON object whose keys come from the header row. Quoted fields are handled properly: commas, line breaks and doubled quotes ("") inside quotes are part of the value, not separators. A byte-order mark from Excel exports is stripped automatically.

Auto-detect picks whichever of comma, semicolon, tab or pipe appears most often in the first line. With type conversion on, plain numbers become JSON numbers, true and false become booleans, and empty cells become null. Numbers with leading zeros, like ZIP codes "02134", are kept as strings so they are not silently changed.

Turn off the header option to get an array of arrays instead of objects. Parsing happens in your browser, so the file contents never leave your computer.

Frequently asked questions

What if rows have different numbers of columns?

Short rows get null for the missing fields. Extra cells beyond the header get generated names like column5, so no data is dropped.

Why is my whole row in one field?

The delimiter was probably detected wrongly — for example a semicolon-separated export with commas inside values. Pick the delimiter manually.

Can it handle large files?

Tens of thousands of rows convert in well under a second. Very large files (hundreds of megabytes) are better handled by a command-line tool.

esc