Paste CSV and get clean, indented JSON. By default the first row becomes the object keys; turn that off for an array of arrays. You can also let it detect numbers and true/false. Everything runs in your browser, so nothing is uploaded.
How it works
The parser follows the standard CSV rules: fields may be wrapped in double quotes, quotes inside a field are written as two quotes, and a quoted field can even contain commas or line breaks. It works with comma, semicolon or tab delimiters, and accepts both Windows (CRLF) and Unix (LF) line endings.
With “first row is header” on, each remaining row becomes an object keyed by the header names. With it off, you get an array of string arrays. Type parsing is optional and conservative: it converts clean integers and decimals to numbers and true/false to booleans, but leaves things like 007 or +1 385 as strings so IDs and phone numbers survive intact.
Practical examples
A contacts export
id,name\n1,Mila\n2,Petar becomes [{"id":"1","name":"Mila"},{"id":"2","name":"Petar"}] — ready to drop into an API request or a config file.
Turning on type parsing
With type parsing enabled, price,inStock\n9.99,true yields {"price":9.99,"inStock":true} — numbers and booleans instead of quoted strings.
A semicolon file from Excel
Serbian Excel exports use “;”. Switch the delimiter to semicolon and a,b;1,2-style rows split into the right columns instead of one long field.
Frequently asked questions
Does the first row have to be a header?
No. Keep “first row is header” on to map columns to object keys, or turn it off to get a plain array of arrays where every row, including the first, is data.
When should I enable type parsing?
Enable it when your data is genuinely numeric or boolean and you want real JSON numbers and true/false rather than quoted strings. Leave it off when you have codes, IDs, or phone numbers that must keep leading zeros or symbols.
Why did 007 stay a string even with parsing on?
Type parsing deliberately ignores values with leading zeros, plus signs, or spaces, because those are almost always identifiers rather than quantities. Only clean integers and decimals like 42 or -3.5 become numbers.
What delimiters are supported?
Comma, semicolon and tab. Comma is the international norm; semicolon is common in European locales including Serbian Excel; tab suits data copied straight out of a spreadsheet.
Can fields contain commas or line breaks?
Yes, as long as they’re wrapped in double quotes, per the CSV standard. A field like "Doe, Jane" is read as a single value, and quotes inside it are written as "".
What happens if a row has fewer columns than the header?
Missing trailing values become empty strings, so every object still has all the header keys. This keeps the output uniform and safe to iterate over.
Is my data sent to a server?
No. Parsing happens entirely in your browser with JavaScript, so it’s safe to convert private or internal spreadsheets.
How do I convert the JSON back to CSV?
Use our JSON to CSV converter — it takes the array of objects you get here and turns it back into CSV with your chosen delimiter.
Related tools
JSON to CSV Converter
Convert a JSON array of objects into CSV, right in your browser. Choose the delimiter; nested values are kept as JSON.
Developer tools
JSON Formatter
Beautify, validate or minify JSON in your browser — with clear error messages. Nothing is uploaded.
Developer tools
Query String Parser
Parse a query string or URL into decoded key/value pairs and JSON. Repeated keys become arrays. In your browser.
Developer tools
PNG to JPG Converter
Convert PNG images to JPG in your browser — with adjustable quality, size comparison and no uploading.
Image tools
WebP to JPG Converter
Convert WebP images to widely supported JPG in your browser — adjustable quality, batch, no uploads.
Image tools
JPG to WebP Converter
Convert JPG to smaller WebP in your browser for faster websites — adjustable quality, batch, no uploads.
Image tools