CSV to JSON / JSON to CSV Converter — Paste & Convert
Convert CSV to JSON objects or a JSON array back to CSV — handles quoted cells, embedded commas, newlines and semicolon/tab delimiters, entirely in your browser.
Last reviewed 2026-10-19. Rates change — verify against the official sources linked below before relying on these figures.
What this is based on
- First CSV row is the header row; every other row becomes one JSON object keyed by header.
- RFC-4180 quoting handled: quoted cells may contain commas, double quotes ("") and newlines.
- JSON → CSV uses the union of all keys across objects; missing keys emit empty cells.
- Large inputs are previewed truncated — the conversion itself always covers the full input.
- Everything runs locally in your browser — pasted content is never uploaded, logged or stored.
Why this is a daily tool
APIs speak JSON, spreadsheets speak CSV — and every data handoff between them needs a converter. The painful cases are quoting (a cell containing a comma), multi-line cells, and semicolon-delimited European exports. This converter handles all three without mangling your data.
In the other direction, taking a JSON array from an API response into a spreadsheet for a stakeholder is exactly as common — paste the array, get headers plus rows.
Gotchas worth knowing
CSV has no types: everything is a string. '007' stays '007' here — a spreadsheet would eagerly turn it into 7. If you need typed values, convert to JSON (you can then coerce explicitly) rather than letting Excel guess.
Ragged rows (more/fewer cells than the header) are surfaced, not silently dropped — a column-count mismatch almost always means a quoting bug upstream.
Frequently asked questions
- How do I convert CSV to JSON?
- Paste the CSV above with headers in the first row — you get a JSON array of objects, one per data row.
- Does it handle semicolons and tabs?
- Yes — the delimiter is auto-detected from the first line (comma, semicolon, or tab), so European CSV exports paste straight in.
- What JSON shape does JSON → CSV need?
- An array of flat objects: [{"a":1},{"a":2}]. Keys become columns; nested objects serialize as JSON text inside the cell.
- Is my data uploaded?
- No — parsing runs fully in your browser; nothing is sent anywhere.
Related calculators
Paste JSON to validate and pretty-print it — with error location (line and column) when it's broken, plus key count, depth and size stats. Runs entirely in your browser.
Paste two versions of a text or file and get a line-by-line diff: added, removed and unchanged lines, unified-diff style. Runs locally — paste production configs safely.
Paste CSV or tab-separated data and get a GitHub-flavored Markdown table — pipes escaped, alignment preserved, ready to drop into READMEs, issues and docs.