CSV to JSON Converter
Convert CSV to JSON and JSON to CSV live. Handles quoted fields, embedded commas, escaped quotes. Header row toggle, browser-only.
[
{
"name": "Alex",
"email": "alex@wrrk.ai",
"role": "founder",
"age": "29"
},
{
"name": "Singh, Priya",
"email": "priya@wrrk.ai",
"role": "engineer",
"age": "32"
},
{
"name": "Kim",
"email": "kim@example.com",
"role": "sales, west",
"age": "27"
}
]About this tool
CSV (comma-separated values) is the universal flat-file format spreadsheets, databases, and BI tools all export to. JSON is the universal data format for APIs and web apps. Converting between them is one of the most common chores in data plumbing — exporting a Google Sheet to feed an API, ingesting a CRM export, or massaging a CSV into the shape your backend expects.
WRRK's CSV ↔ JSON converter is RFC-4180-aware: quoted fields with embedded commas (like "Singh, Priya") are parsed correctly, and doubled quotes inside fields are unescaped. The header-row toggle determines whether output is an array of objects keyed by column names or a raw array of arrays. JSON → CSV computes the union of all object keys so rows with missing fields stay aligned to the header. Everything runs in your browser — no upload, no logging — which matters when the data is customer PII, financial rows, or anything you can't paste into a third-party site.
How to convert (5 steps)
- Paste your CSV. Drop a CSV string into the left panel — quoted fields and embedded commas are handled automatically.
- Toggle header row. If the first line is column names, leave 'Header row' on. JSON output will be an array of objects keyed by those headers.
- Watch the live JSON. Output updates as you type. Errors appear in red if the CSV is malformed.
- Switch to reverse mode. Click 'JSON → CSV' to flip the converter. Paste an array of objects and get a CSV with a header row.
- Copy or download. Click 'Copy' to put the result in your clipboard, or 'Download' to save as .json or .csv.
Use cases
- Converting CRM exports (HubSpot, Salesforce) to JSON for API import
- Turning Google Sheets data into JSON for a frontend
- Quickly inspecting CSV files without opening Excel
- Reshaping API JSON responses into spreadsheet-friendly CSV
- Fixing broken CSV files where commas in fields were not quoted
- Generating mock JSON data from a sample CSV
- Bulk loading data into a database or webhook payload
Frequently asked questions
+−How do I convert CSV to JSON online?
Paste your CSV into the input panel. JSON output appears live on the right. Toggle 'Header row' if your first row contains column names — the converter will then key each row by header.
+−Does it handle quoted fields with commas inside?
Yes. The parser correctly handles RFC-4180-style quoted fields, so values like "Singh, Priya" stay intact instead of splitting on the inner comma. Doubled quotes inside fields are also unescaped.
+−Can I convert JSON back to CSV?
Yes. Switch to the 'JSON → CSV' tab and paste an array of objects. The converter computes the union of all keys for headers and emits one CSV row per object. JSON arrays of arrays also work.
+−What if my CSV has no header row?
Untoggle 'Header row'. The converter will return an array of arrays (one inner array per row) instead of an array of objects keyed by header names.
+−Why does the JSON output have nested objects as strings?
CSV is a flat format — it can't represent nested structures. When converting JSON → CSV, nested objects/arrays are JSON-stringified into one cell. CSV → JSON keeps cells as strings; cast types in your code if needed.
+−Is my data uploaded anywhere?
No. The converter runs in your browser — no network calls, no logging, no analytics on your content. Safe for converting customer lists, financial data, or anything sensitive.
+−Why are my numbers coming out as strings in JSON?
CSV doesn't carry type info — every field is text by default. We keep values as strings so we don't accidentally damage IDs that look like numbers (e.g., leading zeros). Coerce to Number() in your code where needed.