CSV to JSON Converter
Turn CSV data into a JSON array of objects, using the first row as the field names. The parser understands quoted fields properly, so values containing commas, quotation marks or line breaks come through intact instead of tearing a row into pieces.
How to convert CSV to JSON
- Paste your CSV — the first row is treated as column headers.
- Tap "CSV ▸ JSON" (or paste a JSON array and tap "JSON ▸ CSV").
- Copy the result from the output box.
When you'd use this
- Spreadsheet exports — Turning an exported sheet into JSON an application can actually consume.
- Test fixtures — Building JSON test data from a table in seconds.
- API payloads — Converting a list into the shape an endpoint expects.
- Quick inspection — JSON is often easier to read than raw CSV when rows are long.
Good to know
- The header row becomes the keys — Your CSV needs a header row plus at least one row of data, or there is nothing to name the fields with.
- Quoted fields are handled correctly — A value wrapped in double quotes can contain commas, escaped quotes and line breaks without breaking the row. This is precisely where splitting naively on commas falls apart.
- Every value comes out as text — CSV carries no type information, so numbers arrive as strings. Deciding what to convert is a judgement only you can make safely.
- Nothing is uploaded — Conversion runs in your browser, so a customer list or an internal export never leaves your machine.
Frequently asked questions
How are commas and quotes inside values handled?
The parser follows standard CSV quoting: values wrapped in double quotes can contain commas and line breaks, and a doubled quote inside a quoted value means a literal quote. Converting back to CSV applies the same quoting automatically.
What JSON shape does it expect for JSON ▸ CSV?
An array of flat objects, like [{"name":"A","age":30}]. Column headers come from the union of all keys; nested objects aren't flattened.
Does my data leave the browser?
No — parsing and conversion run entirely on your device. Nothing is uploaded or logged.
What if a field contains a comma?
As long as that field is wrapped in double quotes, which is standard CSV, it is handled correctly. The parser tracks quoting rather than splitting on every comma it sees.
Why are my numbers strings in the output?
Because CSV has no types — everything in the file is text. Guessing which columns are numbers is exactly the assumption that silently destroys postcodes, phone numbers and any other value with a leading zero.
Does my CSV need a header row?
Yes. The first row supplies the field names for the JSON objects, so a file without one cannot be converted into named fields.