Skip to content
Devtools 360

Convert CSV Files to JSON

Paste spreadsheet data or open a CSV file of up to 50 MB and get a JSON array of objects (or arrays) back. The delimiter is detected for you, and any malformed rows are listed by record number.

Runs in your browser (background worker)Free · No sign-up

How to convert CSV to JSON

  1. Paste CSV text on the Paste text tab, or choose a .csv/.tsv file on the Upload file tab.
  2. Check the options: delimiter (auto-detect by default), whether the first row is a header, number/boolean conversion and empty-line skipping.
  3. Pick the output shape — an array of objects keyed by the header, or an array of arrays — and the indentation.
  4. Review the preview table and any warnings, then copy the JSON or download it as a .json file.

Supported formats

Input
CSV, TSV, TXT
Output
JSON
Maximum size
50 MB per file (limited by your device's memory)

When to turn off number conversion

Automatic typing turns 42 into a number and true into a boolean, which is usually what an API or script expects. It is the wrong choice for identifiers that only look numeric: ZIP codes such as 02134 lose their leading zero, and long account or card numbers can exceed JavaScript's safe integer range. Turn the option off to keep every cell as a string. To go the other way, use the JSON to CSV Converter; to tidy a CSV before converting it, try the CSV Formatter.

Benefits

  • Handles quoted fields, embedded commas and line breaks inside cells correctly, following RFC 4180.
  • Large files are parsed in a background thread with a progress bar and a Cancel button, so the page stays responsive.
  • Rows with too few or too many fields are reported by record number instead of silently producing broken JSON.

Limitations

  • Files must fit in browser memory; the limit is 50 MB, and very wide files can need several times that while converting.
  • Excel workbooks (.xlsx) are not read directly — save the sheet as CSV first.
  • Delimiter auto-detection can guess wrong on single-column or very short files; choose the delimiter manually in that case.

Privacy and security

Pasted text is parsed by JavaScript in this tab, and uploaded files are parsed in a Web Worker on your device. Nothing is uploaded, and the converted JSON exists only in your browser until you copy or download it.

Read our privacy policy for details about the site as a whole.

Frequently asked questions

What happens to duplicate or empty column headers?

Each JSON key must be unique, so a repeated header such as "name" becomes name, name_2 and so on, and an empty header becomes column_N based on its position.

My file uses semicolons — will it work?

Yes. Auto-detect recognises commas, semicolons, tabs and pipes. European spreadsheet exports often use semicolons because the comma is the decimal separator there.

What does the __extra key in my output mean?

A row had more fields than the header. Rather than dropping data, the surplus values are kept in an __extra array on that object, and the row is listed in the warnings so you can fix the source.