Is the CSV to JSON converter free?
Yes. This CSV to JSON converter is free to use, with no account or sign-up.
Is my CSV data uploaded?
No. The converter runs entirely in your browser, so your CSV stays on your device and is never uploaded to a server.
Does it assume the first row is headers?
Yes. The converter is header-first: it treats the first row as headers and turns each following row into a flat JSON object.
Can I preview the JSON before export?
Yes. The converted JSON stays visible before you copy or download it, so you can confirm it looks right.
What does the output look like?
The output is an array of flat JSON objects, one per CSV row, with keys taken from the header row.
Why are my numbers strings in the output?
Because CSV does not have types, and inferring them creates worse bugs than leaving them alone. A leading-zero product code turns into a number and loses its zero, a long ID loses precision, and a value like 1-2 can be read as a date. Everything is emitted as a string, and you cast it where you know what it means.
Does my CSV need a header row?
Yes. The first line is always treated as the header and its cells become the object keys. If your file has no header, the first record will be consumed as one, and you will get a JSON array that is one item short with nonsense key names. Add a header line before pasting.
Does it handle semicolon-separated files?
Yes. The delimiter is detected automatically by testing comma, semicolon, tab and pipe against the first five lines and choosing whichever splits the data into the most cells. European exports, which use the semicolon because the comma is a decimal separator there, convert correctly without any setting.
What about commas inside quoted values?
They are handled. The parser tracks quoted regions and ignores delimiters inside them, and a doubled quote inside a quoted cell is read as one literal quote. What is not handled is a newline inside a quoted cell, since the input is split into lines before quotes are considered.
What if a header cell is empty?
It gets a generated name based on its position, column_1, column_2 and so on. That keeps the output objects usable rather than producing a key that is an empty string, which is legal JSON and awkward to work with.
Is my CSV uploaded?
No. The parse and the conversion both run in the page. This is the reason it is safe to convert a customer list or an export with personal data in it.