Convert CSV to JSON or JSON to CSV instantly. Handles quoted fields, custom delimiters, and file uploads.
[
{
"name": "John Doe",
"email": "john@example.com",
"role": "Admin"
},
{
"name": "Jane Smith",
"email": "jane@example.com",
"role": "Editor"
},
{
"name": "Bob Wilson",
"email": "bob@example.com",
"role": "Viewer"
}
]This tool converts CSV (comma-separated values) data into structured JSON, and back again, entirely in your browser. Paste rows exported from a spreadsheet, database, or log file and get a JSON array of objects where each column header becomes a key and each row becomes an object. It handles quoted fields, embedded commas, and newlines inside quotes according to the RFC 4180 CSV convention.
Developers use it to prep spreadsheet data for REST APIs, seed test fixtures, or feed config into JavaScript, Python, and other languages that consume JSON natively. Analysts and support engineers use it to reshape exported reports without opening a terminal or writing a parser.
A CSV file is plain text where each line is a record and fields are separated by a delimiter, usually a comma. The parser reads the first line as a header row, splitting it into field names, then maps every subsequent line's values to those names. So a header of name,port,active with a row of router1,8080,true becomes the object {"name": "router1", "port": "8080", "active": "true"}, and the full file becomes a JSON array of such objects.
Quoting matters: a field wrapped in double quotes can contain commas, line breaks, and escaped quotes (written as two double quotes), which is why naive splitting on commas breaks real-world data. This tool follows RFC 4180 rules so "Smith, John" stays one field rather than two. Note that all CSV values are strings by default; JSON has distinct number, boolean, and null types, so 8080 arrives as the string "8080" unless you enable type inference, which coerces numeric and boolean-looking values.
The reverse direction serializes a JSON array of objects into rows: it collects the union of keys as the header line, then writes each object's values in that order, re-quoting any value that contains the delimiter, a quote, or a newline.
Yes, it is completely free with no sign-up. All conversion runs locally in your browser using JavaScript, so your CSV and JSON never leave your device or get uploaded to a server.
Yes. You can select semicolon or tab (TSV) delimiters, which is useful for European locale exports that use semicolons or for tab-separated data copied from spreadsheets.
CSV has no data types, so every value is text by default and produces a quoted string. Enable the type inference option to convert values that look like numbers, booleans (true/false), or null into their native JSON types.
Fields wrapped in double quotes may contain commas and newlines, and a literal double quote is written as two consecutive quotes. The parser follows RFC 4180, so quoted content stays in a single field.
The tool flags rows whose field count does not match the header so you can correct the source. Extra fields or missing values are reported rather than silently dropped.
Yes. Paste a JSON array of objects and switch the direction to JSON to CSV. The tool builds a header from the object keys and writes one row per object, quoting values as needed.
Because processing happens in your browser, practical limits depend on your device's memory. Files with tens of thousands of rows work fine on most machines, though very large exports may be slow to render.