DuckyTools
Home Convert CSV to JSON

CSV to JSON Convert

Convert CSV or TSV into clean JSON, with the delimiter detected for you.

CSV to JSON is a free online tool that convert CSV or TSV into clean JSON, with the delimiter detected for you. It runs entirely in your web browser using plain JavaScript, so files are processed on your own device and never uploaded to a server. There is no sign-up, no file size limit imposed by the site, no watermark and no paid tier.

Price
Free — no account, no quota, no watermark
Category
Convert
Where it runs
In your browser, on your device
Files uploaded
None
Technology
plain JavaScript
Settings
3
Works offline
Yes, after the first visit

About CSV to JSON

CSV to JSON is one of 18 convert tools on DuckyTools, and like all of them it runs entirely inside this page. Convert CSV or TSV into clean JSON, with the delimiter detected for you.

How to use it

  1. Paste the text you want to run through csv to json.
  2. Set delimiter, first row is a header and detect numbers and booleans.

The 3 settings

SettingWhat it doesDefault
DelimiterChoose from 5: Detect automatically, Comma, Semicolon, Tab, Pipe.Detect automatically
First row is a headerOn or off. On by default.On
Detect numbers and booleansOn or off. On by default.On

Under the hood

Runs onplain JavaScript — runs the whole thing
ControlsDelimiter, First row is a header, Detect numbers and booleans

Questions

How does delimiter detection work?

It counts commas, semicolons, tabs and pipes in the first non-empty line and picks whichever appears most. That handles the common European semicolon export correctly. Set it explicitly if your data contains a lot of one character inside quoted fields.

Are quoted fields with commas handled?

Yes. The parser follows RFC 4180 — quoted fields may contain the delimiter, line breaks and doubled quotes ("") as an escaped quote character.

Why did my long ID numbers change?

Type detection turned them into numbers, and JavaScript loses precision beyond 2^53. Turn off "Detect numbers and booleans" to keep every value as a string — which is what you want for IDs, phone numbers and anything with leading zeros.