CSV to JSON Converter
Paste CSV data (with a header row) to convert it into a JSON array of objects, entirely in your browser.
How it works
The first line is treated as column headers. Each following line becomes one JSON object, with each column's value matched to its header name. Fields wrapped in double quotes (needed when a value itself contains a comma) are handled correctly, including an escaped "" for a literal quote inside a quoted field.
Common uses
- Turning a spreadsheet export into JSON for use in code or an API request
- Quickly inspecting CSV data in a more structured, readable format
Example
This CSV has a quoted field containing a comma and escaped quotes, and a second row that is short one value:
name,city,note Alice,Boston,"likes ""tea"", and coffee" Bob,Austin
The result is two objects. Alice's note is likes "tea", and coffee, and Bob's note is an empty string because that value was missing.
What to expect
- Every value stays text. A number such as 30 comes out as "30", so convert types in your own code if you need them.
- Only commas separate fields. Semicolon or tab separated exports from some regional settings will not split.
- A quoted field that contains a line break is not supported, because lines are split before quotes are read.
- Extra values beyond the header count are dropped, blank lines are skipped, and the same header name used twice keeps the last column.
- Conversion happens in your browser and nothing is uploaded.
Guide
- JSON Parse Errors: Common Mistakes and Fixes — The mistakes behind most "invalid JSON" errors, with before-and-after fixes and how to read where the parser gave up.
Frequently asked questions
Does it handle commas inside a field?
Yes — wrap that field in double quotes in your CSV (e.g. "Boston, MA") and it will be treated as one value, not split into two.
What if my CSV doesn't have a header row?
The first line is always treated as headers. If your data doesn't have one, add a temporary header row (like col1,col2,col3) before pasting it in.