CSV to JSON
Convert CSV to JSON in your browser. RFC 4180 compliant, handles quoted fields, multiline cells, and CRLF.
CSV (Comma-Separated Values) is the plain-text format you get from Excel, Google Sheets, and most SQL exports. JSON is the format APIs and JavaScript apps want. This converter turns each CSV row into a JSON object keyed by the header row, with full RFC 4180 support for quoted fields, escaped quotes, multiline cells, and CRLF line endings.
Everything runs locally in your browser — your data is never uploaded. Small inputs convert instantly; large files (50 MB and up) are processed in the background so the page stays responsive, and the result streams straight into a downloadable file instead of being held entirely in memory.
Delimiter detection is automatic across comma, semicolon, tab, and pipe. Numbers and booleans are auto-detected by default; toggle string-only if you need to preserve leading zeros (e.g. ZIP codes or phone numbers).
Example
Input
name,age,active
Alice,30,true
Bob,25,false Output
[
{ "name": "Alice", "age": 30, "active": true },
{ "name": "Bob", "age": 25, "active": false }
] Numbers and booleans auto-detected.
How to use
- Paste or drop. Drop a .csv file for large inputs, or paste text for small ones.
- Convert. Small inputs convert instantly. Large inputs run in the background with a progress indicator.
- Copy or download. Small outputs show in a textarea; large outputs are downloadable as .json.
Frequently asked questions
Is this CSV to JSON converter free?
Yes. LightConv is free, has no upload, no signup, and runs entirely in your browser.
How fast is it?
Very. A clean CSV runs at hundreds of MB per second, and on supported builds a WebAssembly engine pushes that further. Every conversion shows the exact time it took, so you can see for yourself.
Does it handle quoted fields with commas?
Yes. The parser is RFC 4180 compliant — quoted fields, escaped double-quotes ("" inside a field), multiline values, and CRLF all work.
What about huge files?
Large inputs run in the background so the page never freezes, and the output streams into a downloadable file instead of being held in memory. You see a preview on screen and can save the full result as .json.
Will it preserve leading zeros?
By default numeric values are coerced to numbers, which drops leading zeros. Toggle 'Keep as strings' to preserve the original text.