Convert JSON to CSV and CSV back to JSON. Paste, pick a delimiter, copy or download. All in your browser.
This tool converts JSON to CSV and CSV back to JSON, both directions, in your browser. Paste your data, choose a delimiter, and copy or download the result. Nothing is uploaded. It is built for the everyday job of moving structured data between an API or config file, which speaks JSON, and a spreadsheet, which speaks CSV.
JSON is how programs exchange data, and CSV is how people open it in a spreadsheet. The moment you want to hand an API response to a colleague in Excel, Google Sheets, or Numbers, you need CSV. The same is true for importing into most databases, billing systems, and analytics tools, which accept a flat CSV far more readily than nested JSON. Converting flattens an array of records into rows and columns that any spreadsheet reads natively.
The reverse trip matters just as much. When a non-technical teammate hands you a spreadsheet and your code needs structured input, CSV to JSON turns each row into an object keyed by the header row. That is the shape APIs, config files, and JavaScript expect. Converting once saves you from writing a throwaway parser every time a CSV lands in your inbox.
For JSON to CSV, the cleanest input is an array of flat objects, where every object is one row and its keys are the columns. The converter scans all objects, builds the union of their keys as the header, and fills missing fields with empty cells, so records do not have to share an identical shape. A single object becomes a one-row table. Deeply nested objects and arrays do not map cleanly to a flat grid, so the converter writes their JSON text into the cell rather than guessing at a structure that a spreadsheet cannot represent.
Comma is the default and the most portable choice. But Excel in many European locales treats the semicolon as the field separator, because the comma is the decimal mark there. If your CSV opens as one jammed column in Excel, switch the delimiter to semicolon and convert again. Tab-separated output is the safest option when your data itself contains commas and semicolons, and it pastes directly into a spreadsheet without any import dialog.
CSV has one tricky rule: any field that contains the delimiter, a quotation mark, or a line break must be wrapped in double quotes, and quotes inside it are doubled. The converter applies that rule automatically when writing CSV, so a value like Smith, John survives the round trip intact. Going the other way, the CSV parser respects quoted fields, so embedded commas and newlines inside quotes are read as part of the value rather than as new columns or rows.
Pick a direction with the tab, paste into the input, and the output updates as you type. JSON to CSV parses the JSON, collects the column keys, and writes properly quoted rows with your chosen delimiter. CSV to JSON parses the rows, uses the first row as keys, and emits a pretty-printed array of objects. The Swap button moves the output back into the input so you can chain a round trip, and Download saves the result as a .csv or .json file. Everything runs locally, so your data never leaves the page. You can confirm that in your browser network panel.
Select the JSON to CSV tab, paste a JSON array of objects into the input, and the CSV appears in the output box as you type. Pick a delimiter if you need something other than a comma, then copy the result or download it as a .csv file.
Select the CSV to JSON tab and paste your CSV, including the header row. Each row becomes an object keyed by the headers, and the tool outputs a pretty-printed JSON array. Set the delimiter to match your file if it uses semicolons or tabs.
An array of flat objects works best: each object is a row, its keys are the columns. The tool builds the header from the union of all keys and leaves missing fields blank. Nested objects and arrays are written as JSON text inside the cell, since a flat grid cannot represent them.
Yes. The delimiter selector offers comma, semicolon, and tab. Semicolon is useful for Excel in European locales where the comma is the decimal mark, and tab is safest when your data itself contains commas.
There is no fixed limit. Because everything runs in your browser, very large files are bound only by your device memory. Tens of thousands of rows convert without trouble on a normal laptop.
No. The conversion runs entirely in your browser. Nothing is sent to a server, logged, or stored. You can verify by watching your browser network tab stay empty as you convert.