CSV ⇄ JSON
Convert CSV to JSON and back with RFC4180 quoting, delimiter detection and typed values.
How to use it
- Paste CSV into the input panel — from Excel, Google Sheets, a database export or a log file.
- Pick the mode: CSV → JSON for data processing, JSON → CSV for spreadsheets.
- The delimiter is detected automatically (comma, semicolon, tab or pipe); override it when your data is ambiguous.
- Keep First row is the header on for named objects; switch it off to get plain arrays of arrays.
- Click Convert, then Copy or Download the result. Numbers, booleans and nulls are typed automatically.
Common use cases
- Spreadsheet to API payload — export a sheet as CSV, convert it to the JSON array your endpoint expects.
- Deduplicating spreadsheet work — round-trip data through JSON to filter, map and sort it in a script, then convert back.
- Cleaning quoted exports — fields that contain commas, quotes or line breaks are parsed strictly per RFC4180.
- Previewing database dumps — convert a chunk of a CSV export and read it as structured records.
Why it stays private
Parsing and serialization run entirely in your browser's memory. Nothing is uploaded, so customer lists, exports with personal data or internal reports never leave your device.
FAQ
Q: Does it handle quoted fields with commas or line breaks inside? A: Yes. Quoted fields follow RFC4180: a doubled quote is an escaped quote, and a field can span multiple lines.
Q: Why did my numbers become JSON numbers instead of strings? A: Values that parse as numbers, booleans or null are typed automatically so the JSON is immediately usable. Quote those cells in CSV to force strings.
Q: What does JSON → CSV do with nested objects or arrays? A: Nested values are serialized to their JSON text form inside the cell, which is the least surprising behavior for spreadsheets. Flatten your JSON first if you want one column per field.
Your data stays on this device
CSV ⇄ JSON runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.
Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.