CSV to JSON Converter

Paste CSV exported from Excel, Google Sheets or a database and get a JSON array with one object per row. The parser follows RFC 4180, so quoted fields, commas and line breaks inside quotes and doubled quotes are read correctly, and the delimiter can be detected for you.

Data Formats Runs in your browser

Convert CSV to JSON

If off, keys are named column1, column2 and so on.
Off by default so IDs and phone numbers stay text. When on, empty cells become null. Numbers with leading zeros or more than 15 digits stay text.

How to Use the CSV to JSON

  1. Paste your CSV into the box (or keep the example).
  2. Leave the delimiter on automatic or pick one, and say whether the first row is a header.
  3. Optionally tick Detect numbers, true/false and null to get typed values instead of strings.
  4. Press Convert, then copy or download the JSON.

About This Tool

Developers loading spreadsheet data into an app or API, analysts reshaping exports, and teachers preparing sample data sets.

Input: CSV / TSV  ยท  Output: JSON (array of objects).

Features and Limitations

Features

  • Real RFC 4180 parsing: quotes, embedded newlines, escaped quotes and empty fields.
  • Delimiter detection for comma, semicolon, tab and pipe files.
  • Duplicate or empty column names are made unique (name, name_2, column3).
  • Type detection is optional and cautious: leading zeros and very long digit strings stay text.
  • Key order follows the column order, even for numeric-looking headers.

Limitations

  • The whole text is held in memory, so files of hundreds of megabytes will not work in a browser tab.
  • With type detection on, empty cells become null and values such as 1e3 become numbers; leave it off if you need the original text.
  • Rows with more or fewer fields than the header are accepted: missing values are filled in and extra values get generated column names.
  • Dates are not converted; they stay as text.
  • Results are computed in your browser; nothing you enter is sent to a server.

Example

The CSV id,name\n1,"Smith, Ann" becomes [{"id": "1", "name": "Smith, Ann"}]. With number detection on, id becomes the number 1.

Frequently Asked Questions

Why are my numbers strings in the JSON?

Because type detection is off by default. IDs, ZIP codes and phone numbers often look like numbers but must keep leading zeros. Tick the detection option when your columns really are numeric.

How does delimiter detection work?

The tool tries comma, semicolon, tab and pipe on the first rows and picks the one that gives the same number of fields on every row. Choose the delimiter yourself if the guess is wrong.

What happens to line breaks inside a cell?

A quoted cell may contain line breaks. They are kept as \n inside the JSON string.

What if a quote is never closed?

The tool reports the line and column where the unclosed quoted field starts, so you can add the missing closing quote.

Is my data sent to a server?

No. The CSV is parsed in your browser.

Related Tools

More like this: all Data Formats tools, all Developer & Web tools or the TinySandy home page.