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
Tools
Guides
- Semantic JSON Diff vs Text Diff: Key Order, Array Order, and Type Coercion
- Converting CSV to JSON: Where It Actually Goes Wrong
- Generating Mock JSON Data From a Schema — Seeds, Determinism, and What Gets Faked
- JSON Formatting and Validation: What Actually Trips People Up
- What "Required" Means When You Infer a JSON Schema From Samples
- JSON Schema vs Zod: They Solve Different Halves of the Same Problem
- quicktype vs Live Types: Different Jobs, Not Direct Competitors
- "Unexpected Token in JSON at Position 0" — What It Actually Means
- XML to JSON Conversion: Attributes, Mixed Text, and Why Repeated Tags Become Arrays
- Fixing Double-Encoded JSON Strings (JSON.stringify Twice)
- Detecting Breaking Changes in a JSON API Response
- JSON vs YAML for Config Files
Advertisement