Find a tool

Also in German, Spanish or French, for example “PDF zusammenfügen”.

Convert CSV to JSON

Turn a CSV file or pasted text into JSON. The data is processed in your browser and not uploaded.

Drag a CSV file hereChoose CSV file

One CSV or text file up to 50 MB. Delimiter and character set are detected automatically.

Processed on your device, no upload

Paste text instead of choosing a file

Guide and details

How it works
  1. Choose a CSV file or paste the text.
  2. Check the preview in which delimiter and columns were detected.
  3. If needed, open the advanced settings: header row, value types, empty fields and indentation.
  4. Download the JSON file.
How the JSON is made

With a header row every row becomes an object in a list and the column names become keys. Without a header row you get a list of lists. Quotes, line breaks inside fields, Unicode and special characters are escaped correctly. Repeated column names are numbered, empty names are called column_N, and rows with too few or too many fields are reported instead of silently changed.

The result is checked for validity with an independent JSON parser before the download is offered.

Types and empty fields

The default is to output all values as text. Optionally, clear numbers and the values true and false are detected. Numbers with leading zeros or more than 15 digits always stay text so that nothing is falsified. Empty fields can be output as empty text, as null or by leaving the property out. You choose the indentation with two or four spaces, or compact.

Files up to 50 MB are processed. The conversion runs in a background process and can be cancelled.

Frequently asked questions

Is my CSV file uploaded?

No. It is read only in your browser.

Why are my numbers text in the JSON?

That is the safe default. With number detection, clear numbers become real JSON numbers.

What happens with repeated column names?

They are numbered so no column is lost, and the page tells you.

How do I handle empty fields?

You choose between empty text, null and leaving the property out.

Is the JSON always valid?

The result is checked with an independent parser before the download is offered.