CSV to JSON
Select a delimiter and header mode, then inspect rows as strings.
Runs in your browser. Nothing is uploaded.
How CSV is read
By default, the first row is the header and later rows become objects. Choose comma, semicolon, or tab as the delimiter. Turn off Header row when the file has no header. Every cell stays a string, including numbers. Duplicate headers use last-wins: the last column with that name is the value you get.
Need the other direction? Use JSON to CSV.
Quotes, commas, and line breaks
The selected delimiter separates columns unless the cell is inside double quotes. Quoted cells can contain commas, double quotes, and line breaks. A double quote inside a quoted cell is written twice. The parser removes the CSV syntax and returns the cell text, so a company name such as TheDevTab, Inc remains one value instead of becoming two columns.
When Header row is on, the first row becomes property names. Turn it off for headerless CSV. Blank headers are allowed and duplicate headers use last-wins, meaning a later value replaces an earlier value with the same name. Clean up the source header if both columns matter to your application.
Delimiter and UTF-8 BOM
Choose comma, semicolon, or tab with the Delimiter control. The parser does not auto-detect delimiters. Pick the delimiter your file already uses so a valid value is not split into the wrong columns.
A UTF-8 byte order mark at the beginning of a file is removed before parsing, so a header does not unexpectedly begin with an invisible character. Other encoding problems are outside the parser. If the result looks wrong, inspect the source in a text editor and confirm its encoding and line endings.
Why values stay strings
CSV has no built-in number, boolean, or date type. This tool keeps every cell as a string, including 01, 2.0, and empty text. That avoids losing leading zeros and avoids guessing whether an identifier is a number. Convert selected fields in your own application after you know the schema. Use JSON Formatter if you want to read the generated JSON, or return to JSON to CSV for the reverse operation.
FAQ
What happens when I drop a CSV file here?
A dropped file is read as text and parsed as CSV in your browser. The file is never uploaded, and you can choose the delimiter and Header row option before converting.
What delimiter do you support?
Comma, semicolon, and tab delimiters are supported. Select the delimiter used by the file because the parser does not auto-detect it.
What does the Header row option change?
With Header row enabled, the first parsed row supplies object keys and the remaining rows become records. With it disabled, every row becomes a record whose keys are col1, col2, and so on.
Are numbers and booleans converted to JSON types?
No. Every cell is returned as a string, including values such as 01, 2.0, true, and false. This preserves the text instead of guessing a JSON type.
What if two columns have the same header?
The later column assignment replaces the earlier value when both headers have the same name. Rename duplicate headers if both cells need to survive in the JSON object.
How are quoted fields handled?
A quoted field may contain the selected delimiter, line breaks, or a doubled quote without splitting the value. The parser removes the surrounding quotes and turns doubled quotes into one quote.