CSV ↔ JSON Converter

The first row is treated as the header. Quoted fields with commas, quotes, or newlines are supported. Values from CSV always come back as strings — no numeric/boolean guessing. Cmd/Ctrl+Enter saves the current input to history.

Advertisement

Paste CSV, get a JSON array of objects keyed by the header row — or paste a JSON array and get CSV back. Parsing follows RFC 4180 rather than a naive split on commas, so quoted fields containing commas, newlines, or escaped quotes come through intact. Every value stays a string on the way to JSON; nothing is guessed into a number or boolean.

Frequently asked questions

Does it handle commas or newlines inside a quoted field?
Yes. Parsing follows RFC 4180: a field wrapped in double quotes can contain commas, newlines, and escaped "" quote characters without breaking the row into extra columns.
Will a value like 00501 or 1e5 get converted to a number?
No — every CSV value comes back as a plain JSON string, never auto-coerced to a number or boolean. Coercion guesses wrong as often as it guesses right (a zip code like 00501 would lose its leading zero), so the raw string is the more honest default.
What happens if my CSV has a blank column header?
That's rejected with an explicit error rather than silently producing a key named "undefined" or "".
Converting JSON back to CSV — what input does it expect?
A JSON array of flat objects. Nested objects or arrays inside a record aren't flattened — they get stringified into that cell rather than split into extra columns.
Is my data uploaded anywhere?
No. Conversion happens locally in your browser tab — nothing is sent to a server.

Read the full guide for this tool →

Related tools & guides

Part of JSON Tools: Format, Validate, Diff, Convert, and Generate Types

Advertisement