CSV to JSON Converter

Convert CSV to JSON and JSON to CSV instantly. Handles quoted fields, auto-detects headers. Free, browser-based, no server required.

100% Client-Side Your data never leaves your browser Free · No Sign-Up

How to Use

  1. To convert CSV → JSON: paste your CSV data (with a header row) into the left panel and click CSV → JSON.
  2. To convert JSON → CSV: paste an array of JSON objects into the right panel and click JSON → CSV.
  3. Click the Copy button on either panel to copy the result to your clipboard.
  4. The status line below the buttons shows the row count or any parsing errors.

Worked Examples

Simple table

Input CSV:

name,age,city
Alice,30,London
Bob,25,Paris

Output JSON contains objects with name, age, and city keys for each row.

Quoted fields with commas

Input CSV:

product,description,price
Widget,“Small, round widget”,9.99
Gadget,“Includes ""turbo"" mode”,24.50

The description field contains a comma and escaped quotes — both are handled correctly.

JSON back to CSV

Paste the JSON output back into the right panel and click JSON → CSV to round-trip your data.

Supported CSV Format

This tool follows the RFC 4180 standard. Fields are separated by commas. If a field contains a comma, newline, or double-quote, it must be enclosed in double quotes. A literal double-quote inside a quoted field is escaped as two consecutive double-quotes (""). The first row is always interpreted as column headers.

FAQ

What CSV format is supported?

Standard RFC 4180 CSV: comma-separated values with optional double-quote escaping. Quoted fields may contain commas, newlines, and escaped quotes.

How are headers handled?

The first row of your CSV is always treated as headers. Each subsequent row becomes a JSON object whose keys are the header values.

Is there a maximum file size?

There is no hard limit — processing happens entirely in your browser. Practically, files up to a few MB convert instantly; very large files may slow down depending on your device.

Is my data sent anywhere?

No. All conversion runs 100% in your browser using JavaScript. Your data never leaves your machine.