CSV ↔ JSON Converter

Convert CSV to JSON or JSON to CSV in your browser. Auto-detect delimiter, header row, and types. No upload — your data stays private.

Runs in your browser — nothing uploaded
CSV input
JSON output
[
  {
    "name": "Ada",
    "age": 32,
    "city": "London",
    "active": true
  },
  {
    "name": "Charles",
    "age": 46,
    "city": "Manchester",
    "active": false
  },
  {
    "name": "Grace",
    "age": 29,
    "city": "New York",
    "active": true
  }
]
Delimiter: , · 3 rows parsed.

Use this free CSV ↔ JSON converter to round-trip tabular data between spreadsheet and API formats. It handles quoted fields, escaped quotes, and embedded newlines per RFC 4180, auto-detects the delimiter, and can coerce CSV strings into numbers, booleans, and null when you want clean JSON.

Private by design — your data never leaves your device

How to use it

No account, no upload — it all happens on your device.

1
Pick a direction — CSV → JSON or JSON → CSV.
2
Paste your data on the left. The delimiter is auto-detected; override it from the dropdown if needed.
3
Toggle 'First row is header' and 'Auto-detect types' to control how CSV values map to JSON keys and types.
4
Copy the converted output from the right panel.

What makes CSV harder than it looks

The format is older than HTTP, but every spreadsheet bends it differently.

CSV stands for "comma-separated values", but in practice CSV files use semicolons, tabs, or pipes depending on the locale and the source tool. They also have to encode commas, line breaks, and quotes that appear inside a value. RFC 4180 defines the canonical rules; this tool follows them:

  • Fields containing the delimiter, a newline, or a double quote must be wrapped in double quotes.
  • Inside a quoted field, embedded double quotes are escaped by doubling them (he said ""hi"" represents he said "hi").
  • A field may span multiple lines as long as it stays inside its quotes.
  • The first row may or may not be a header — there is no flag in the file itself, so you have to know.

Worked examples

A few input/output pairs to spot-check your data.

CSVJSON (with header, types coerced)
name,age Ada,32 Grace,29[ { "name": "Ada", "age": 32 }, { "name": "Grace", "age": 29 } ]
note,owner "line one line two",Ada[ { "note": "line one\nline two", "owner": "Ada" } ]
msg "he said ""hi"""[ { "msg": "he said \"hi\"" } ]

When type coercion bites

The Auto-detect types option is convenient but lossy. Watch out for:

  • Leading zeros. 007 becomes the number 7. If you need to preserve the literal digits (zip codes, phone numbers, product SKUs), turn type coercion off.
  • Very large integers. JavaScript numbers lose precision above 2^53. IDs from Postgres bigint columns belong in strings.
  • Locale-formatted numbers. A value like 1,234.56 from US-style CSV will be misread if the delimiter is also a comma — semicolon-delimited European CSVs often use commas as decimal points.
  • Booleans in disguise."TRUE", "Yes", "1" — only the lowercase true and false are coerced here. Anything else stays as a string.

Frequently asked

Does this handle quoted fields and embedded commas?
Yes. The parser follows RFC 4180 — fields wrapped in double quotes can contain commas, newlines, and escaped quotes (""). That covers most spreadsheet exports including Excel and Google Sheets.
How does type detection work?
When 'Auto-detect types' is on, each value is checked against simple patterns: true/false become booleans, null becomes null, and numbers stay numeric. Everything else stays as a string. Turn the option off if you want every value as a string verbatim.
Is my data uploaded?
No. Parsing and serialisation happen entirely in your browser. Your CSV or JSON never leaves your device, which makes this safe for sensitive spreadsheets and customer exports.

Related tools

Color ConverterConvert any color between HEX, RGB, HSL, HWB, and OKLCH instantly. Includes a live swatch and one-click copy for each format.QR Code GeneratorGenerate QR codes for URLs, text, Wi-Fi, and more — entirely in your browser. Download as PNG or SVG. No tracking, no uploads.Unix Timestamp ConverterConvert Unix timestamps to human-readable dates and back. Supports seconds and milliseconds, UTC and local time. All in your browser.