CSV ↔ JSON

RFC 4180 parsing with delimiter detection, entirely in your browser.

 

CSV is trickier than it looks

Splitting on commas breaks the moment a field contains one. This converter implements the actual RFC 4180 grammar — quoted fields, "" escapes, embedded newlines — and auto-detects whether your file uses commas, semicolons (hello, European Excel), tabs, or pipes. Going the other way, fields are quoted exactly when needed, and the header row is built from the union of keys across all objects, so ragged data survives the round trip.

Everything runs locally. Export a report, paste it here, and get API-ready JSON without the data crossing a network.

Frequently asked questions

Is my data uploaded?

No. The parser runs in your browser; spreadsheets full of customer data or internal numbers never leave the page.

Which CSV dialects are handled?

RFC 4180: quoted fields, doubled-quote escapes, and newlines inside quotes all parse correctly. Comma, semicolon, tab, and pipe delimiters are supported, with auto-detection based on the first row.

What does the "typed values" option do?

CSV has no types — everything is a string. With typing on, values that look like numbers, true/false, or null become real JSON types. Integers too large for JavaScript to hold exactly (long IDs) deliberately stay strings.

What JSON shapes convert back to CSV?

An array of objects (keys become the header row — the union of keys across all rows) or an array of arrays (written as-is). Nested objects inside a cell are serialized as JSON strings.