CSV to JSON converter

Turn a CSV file into a clean JSON array.

Runs in your browser. Nothing you type is sent anywhere.

How to convert CSV to JSON

  1. Paste your CSV or upload the file.
  2. Check the header row and delimiter settings.
  3. Copy the JSON or download it.

What gets typed automatically

Value in CSVJSON typeWhy
30numberPlain digits parse as a number
true or falsebooleanMatched without case sensitivity
00501textA leading zero would be lost as a number
4111222233334444textToo large to store exactly as a number
SamtextNot numeric or boolean

Delimiters this tool detects

DelimiterExample header row
Commaname,age
Semicolonname;age
Tabname (tab) age
Pipename|age

Tips for messy CSV files

  • Wrap any field containing a comma or line break in double quotes, the same way Excel and Google Sheets export it.
  • If a column mixes numbers and text and you need it to stay text everywhere, turn off Convert numbers and booleans.
  • A parse warning names the row it came from, so jump straight there instead of scanning the whole file.

Where CSV to JSON is useful

  • Turning a spreadsheet export into data an API or script can consume directly.
  • Checking a CSV's structure and types before writing an import script against it.
  • Converting a small dataset for a quick prototype without setting up a database.

CSV to JSON FAQ

Does it detect the delimiter automatically?

Yes. Comma, semicolon, tab and pipe files are recognized on their own, or you can pick one from the delimiter menu.

Are numbers converted to real numbers?

Yes, with convert numbers and booleans on. If any value in a column has a leading zero, such as the ZIP code 00501, or is an ID too long to store exactly, the whole column stays text so no digits are lost.

What if my CSV has no header row?

Turn off first row is headers and each row becomes an array of values instead of an object with keys.

Can a field contain commas or line breaks?

Yes, as long as the field is wrapped in double quotes, which is how Excel and Google Sheets export it. An unclosed quote is reported with its row number.

Does it handle a CSV that starts with a byte order mark?

Yes. A UTF-8 byte order mark at the start of the file, common in Excel exports, is stripped before parsing so it does not get glued onto the first header name.

What happens to empty cells?

An empty cell becomes an empty string in the JSON, not null or an omitted key, so every row keeps the same set of fields when the header has a name for that column.

Does it follow the same rules as the JSON to CSV converter?

Yes, both read and write CSV that follows RFC 4180: fields are quoted only when they contain a comma, a quote or a line break.

What happens to a column that is blank in every row?

It still appears as a key on every object, holding an empty string, since the header row names the column even when no row fills it in.

Related tools