Convert CSV to JSON

Paste CSV to get an array of JSON objects: the header row becomes the keys. Comma, semicolon and tab delimiters auto-detect, and RFC 4180 quoting is honoured. Type coercion is on by default but keeps leading-zero values such as 01234 as strings. Add at least one data row after the header. Nothing is uploaded.

JSON
CSV
ReadyThe delimiter is auto-detected when reading CSV

Runs in this tab · nothing is uploaded · Verify in 10 seconds →

What this does

CSV → JSON reads the first row as headers and turns every following row into an object with those headers as keys, honoring RFC 4180 quoting, a field containing a comma, quote or line break is wrapped in double quotes with embedded quotes doubled, so “Smith, Jane” stays one field. The delimiter is auto-detected: comma, semicolon (European Excel exports) or tab.

The size trade is dramatic and exact in direction: on the 7 tabular documents in our sample corpus, arrays of flat objects (users, orders, logs) converted with the same functions this page runs, pretty-printed JSON weighed 2.9× the CSV bytes (min 2.5×, max 3.8×), because JSON repeats every key on every row while CSV names each column once. The flip side: CSV has no types, true and 01234 are just characters until you coerce them.

When it goes wrong

“Only a header row was found, add at least one data row.” means the paste stopped after the column names. A one-column result from a many-column file means the delimiter went undetected, check for a semicolon or tab file whose first line contains commas inside quotes. Type coercion is on by default and deliberately conservative: clean numbers, true/false and null convert, but a leading-zero value like 01234 stays a string, because turning it into 1234 would corrupt it; switch coercion off to keep every cell a string.

When to use this

Convert spreadsheet exports into API request bodies, test fixtures, NoSQL imports or JavaScript data structures, without the data touching a server.

This page is a focused view of theJSON ↔ CSV Converter, which has the full set of options.

Frequently asked questions

Are numbers in the CSV converted to JSON numbers?

With the coerce toggle on (the default), clean numeric cells, true/false and null convert to real JSON types, but deliberately not values with leading zeros, so postal code 01234 stays the string "01234". Turn coercion off to keep every cell a string.

How are commas inside a value handled?

Per RFC 4180, fields containing commas, quotes or line breaks are wrapped in double quotes, with inner quotes doubled. The parser honors that, so “Smith, Jane” stays one field.

My CSV uses semicolons, will it parse?

Yes, the delimiter is auto-detected from the first line: comma, semicolon (common in European Excel locales) or tab all work.