CSV to JSON Converter
Convert comma-separated rows with a header into JSON objects. Cell values stay text strings.
Try a small example
Try a small example
Load the fictional example in a cleared form. Check the options, run the tool if needed, and compare the result below.
Use the first CSV row as object keys and turn each matching record into one JSON object. Cell values remain strings; leading zeroes and identifier formatting are preserved. Paste comma-separated data with unique column names in the first row. Example: name,city then Ada,Paris. Values remain JSON strings, so values like 007 keep their leading zeroes; numbers, booleans, dates, and null are not inferred. A UTF-8 BOM at the very start is ignored. Completely blank lines are ignored, but rows with explicit empty cells (for example ,,) are kept. Each data row must match the header field count. Quote fields at the start of a field, double quotes inside quoted fields, and do not add characters after a closing quote. Column names must be unique, every record must have the same number of fields as the header, and quotes must follow CSV field rules. Completely blank lines are ignored, while rows with explicit empty cells (such as ,,) are preserved. Numbers, booleans, dates, and null are not inferred as types.
CSV with a header row
id,name,note 001,Ada,"tea, coffee" 002,Sam,"hello"
Expected output
[
{
"id": "001",
"name": "Ada",
"note": "tea, coffee"
},
{
"id": "002",
"name": "Sam",
"note": "hello"
}
]The example is unavailable until the tool is ready.
Text is processed in your browser.
Share this tool
Only the tool’s public link is shared. Your inputs and results stay here.
Show link to copy manually
Quick answer
Use the first CSV row as object keys and turn each matching record into one JSON object. Cell values remain strings; leading zeroes and identifier formatting are preserved.
The page and its assets load from the site; this operation uses your entered values only in this browser and does not send them to a calculation endpoint.
How to use it
Paste comma-separated data with unique column names in the first row. Example: name,city then Ada,Paris. Values remain JSON strings, so values like 007 keep their leading zeroes; numbers, booleans, dates, and null are not inferred. A UTF-8 BOM at the very start is ignored. Completely blank lines are ignored, but rows with explicit empty cells (for example ,,) are kept. Each data row must match the header field count. Quote fields at the start of a field, double quotes inside quoted fields, and do not add characters after a closing quote.
Limits
Column names must be unique, every record must have the same number of fields as the header, and quotes must follow CSV field rules. Completely blank lines are ignored, while rows with explicit empty cells (such as ,,) are preserved. Numbers, booleans, dates, and null are not inferred as types.
Frequently asked questions
Are numbers, dates, or booleans converted to JSON types?
No. Every CSV cell becomes a JSON string, preserving values such as 007, dates, and identifiers exactly as written.
What happens to blank lines and empty cells?
Completely blank lines are ignored. Explicit empty cells are preserved; for example, a row with commas becomes an object with empty-string values.
Why does a row need the same number of fields as the header?
Each JSON property corresponds to one header field. A mismatch is rejected so extra values are not discarded and missing values are not guessed.
What happens with duplicate column names?
The converter rejects duplicate headers because JSON objects cannot preserve two separate values under the same property name.
Sources and references
These references document the cited standard or browser API; they do not validate the tool’s output.
