Why JSON to CSV Breaks on Commas in Quotes
A single comma in a quoted JSON value can shift every CSV column after it — why naive comma-splitting breaks, and how RFC 4180 quoting fixes it for good.
Convert JSON, CSV, and YAML in any direction, instantly. Free, private — nothing leaves your browser.
Your converted output will appear here.JSON, CSV, and YAML, each to any of the other two — including CSV to YAML and back.
CSV columns are built from every row's fields combined, so an optional field never gets dropped.
Output updates as you type or paste — no button to click, no page reload.
Every conversion runs in your browser. Nothing is uploaded, logged, or stored.
Paste JSON, CSV, or YAML into the input box, or start from the built-in example.
Select what you're converting from and what you want back — JSON, CSV, or YAML, in any direction.
The converted output updates live as you type. Copy it with one click, or download it as a file.
JSON, CSV, and YAML each show up in different parts of a stack — APIs, spreadsheets, and config files — so moving data between them is a constant, small chore.
Turn a JSON API response into CSV rows you can open directly in Excel or Google Sheets.
Write config by hand in readable YAML, then convert it to the JSON your app or CI pipeline expects.
Convert a database or analytics CSV export into JSON for a script, API, or NoSQL import.
Quickly see how one dataset looks in JSON, CSV, and YAML side by side while debugging a format mismatch.
Yes — CSV and YAML convert through JSON as an intermediate step automatically, so you don't need to convert twice. Just pick CSV as the input format and YAML as the output (or the other way around) and it happens in one pass.
CSV is a flat, row-and-column format, so a nested object or array value is written into its cell as a literal JSON string (e.g. "[\"a\",\"b\"]") rather than being split into extra columns. Converting that CSV back to JSON keeps it as a string in that field — it isn't automatically parsed back into a nested structure, since a CSV cell has no reliable way to signal "this text is actually JSON."
CSV needs rows and columns, so the JSON should be an array of objects (each object becomes a row) or a single object (becomes one row). A plain value like a bare number or string has no rows or columns to convert to, so that case shows an error instead of guessing.
The CSV output uses the union of every field across all rows as its columns, so a row missing a field just gets an empty cell there — no data from any row is silently dropped.
Make sure "Convert from" actually matches what you pasted. Valid YAML syntax is permissive enough that plain CSV or plain text will often still "parse" as YAML — just as one long string, not as structured rows — instead of failing outright, which can look like a bug when it's really a mismatched format selection.
No. Every conversion happens entirely in your browser using JavaScript — nothing is sent to a server, logged, or stored.
A single comma in a quoted JSON value can shift every CSV column after it — why naive comma-splitting breaks, and how RFC 4180 quoting fixes it for good.
Convert JSON to CSV or YAML in your browser — nested data becomes a JSON string in-cell, never silently dropped.
Free, no account needed.