CSV ⇄ JSON Converter
Convert CSV to JSON and back, with correct handling of quoted fields, embedded commas and line breaks. Choose your delimiter, header row and type coercion — all in your browser.
About the CSV ⇄ JSON converter
Updated June 2026 · 100% client-side — your data never leaves your browser.
Convert CSV to JSON and JSON back to CSV in your browser. Bytewrench's parser follows the RFC-4180 rules, so quoted fields, embedded commas, escaped quotes and line breaks inside cells are all handled correctly — not just naive comma-splitting. Choose your delimiter, decide whether the first row is a header, and optionally coerce numbers and booleans to real JSON types.
Going the other way, JSON arrays of objects become a clean CSV with a header row built from the union of all keys, with values quoted and escaped where needed.
See also: JSON formatter, JSON validator
CSV → JSON and JSON → CSV with one click.
Handles quoted fields, commas and newlines inside cells, and doubled-quote escaping.
Comma, semicolon or tab; toggle header row and number/boolean coercion.
Upload a file, paste data, then copy or download the result.
Frequently asked questions
How do I convert CSV to JSON?
Paste or upload your CSV, confirm whether the first row is a header and pick the delimiter, then the tool maps each row to a JSON object keyed by the header columns. Turn on type coercion to get real numbers and booleans instead of strings.
What about commas inside quoted fields?
They're handled correctly. Per RFC 4180, a field wrapped in double quotes may contain commas, line breaks and doubled quotes ("") as escaped quotes — the parser respects the quoting rather than naively splitting on every comma.
How are nested objects handled?
CSV is a flat, tabular format with no native nesting, so by default each column becomes a top-level key. To represent nested data you'd need a convention like dotted column names (address.city) and post-processing; round-tripping deeply nested JSON through CSV will flatten it.
Can I convert JSON back to CSV?
Yes. Paste an array of objects and the tool builds a header row from the union of all keys, then writes one row per object with values quoted and escaped where needed. An array of arrays is also written row-for-row.
Is my data uploaded?
No. All parsing and conversion happen locally in your browser.