CSV to JSON Converter
Paste or upload a CSV file to get a JSON array, or convert a JSON array back to CSV. Nothing is uploaded — all parsing is local.
How the conversion works
This tool parses the RFC 4180 common subset of CSV: fields are separated by commas (or your chosen delimiter), a field wrapped in double quotes may contain commas and line breaks, and an embedded quote is written as two quotes. The first row becomes the object keys and each data row becomes one object, so every value is a string — which is the honest, lossless result of reading plain CSV text. For a stricter data-interchange format, tidy the produced JSON with the JSON formatter, or present tabular data alongside the requirement tables on the checklists hub. Fix stray casing with the text case converter and measure a draft with the word counter.
Frequently asked questions
Is my CSV uploaded anywhere?
No. Parsing and formatting happen in your browser with built-in JavaScript. Your data never leaves your device and nothing is stored between visits.
How are quoted fields handled?
Following the RFC 4180 common subset: a field wrapped in double quotes may contain commas, line breaks and escaped double quotes (written as two quotes in a row), and it stays one field.
What happens if rows have different column counts?
The tool reports the row and column counts and stops, rather than silently dropping or shifting columns, so you can fix the source CSV.
Can I choose the delimiter?
Yes. Use the delimiter selector for comma, semicolon or tab. If your file was exported with a regional setting that uses semicolons, pick that to split correctly.
Does it convert JSON back to CSV?
Yes. After converting to JSON, or after pasting a JSON array of objects, press the CSV button to write comma-separated output back into the left pane.
How are keys and types handled?
The first CSV row becomes the object keys and every value is a string. Numbers, booleans and nested objects are not inferred from CSV text - that is the expected lossless behaviour of a plain CSV.
Related: format the result with the JSON formatter, adjust text with the text case converter, measure it with the word counter, and browse every browser-only tool on the all tools page.