CSV to JSON Converter
Turn CSV rows into a clean JSON array of objects, with the header row as the keys. The data stays in your browser.
Flatten a JSON array of objects into CSV for a spreadsheet. Every key found in any object becomes a column, and it all runs on your device.
Updated
Your browser is preparing the tool. It runs 100% locally.
Paste a JSON array of objects and get CSV back, with one column per key and one row per object. The columns are the union of every key across all the objects, so ragged data still lines up, and any field containing a comma, quote or line break is escaped the RFC 4180 way. It handles flat objects; nested objects and arrays don't expand into columns.
Paste a JSON array (a single object also works and is wrapped in one). The header row lists every key the tool found, each object becomes a row, and a cell is blank where an object lacks that key. The box starts with a small example, the output updates as you type, and you can copy it or download data.csv.
CSV opens in any spreadsheet and almost every other program imports it, which makes this the quickest route from JSON or API output into Excel, Google Sheets or a reporting tool.
It parses the JSON, then reads through all the objects to collect the full set of column names. An object missing a field still gets that column, left blank, so the rows line up.
Each object becomes a row in that column order. A value containing a comma, double quote or line break is wrapped in quotes, with inner quotes doubled, as RFC 4180 specifies.
No external data. The input is parsed as JSON (RFC 8259 and ECMA-404) and the output is written as RFC 4180 CSV, all in your browser.
The JSON you paste is parsed in your browser and is not sent anywhere.
Nothing is saved; refresh the page and the data is gone.
You can use it on sensitive records, since the data never leaves your device.
| Input | JSON array of objects (or one object) |
|---|---|
| Output | CSV, comma-delimited |
| Columns | Union of all keys (first-seen order) |
| Missing keys | Empty cell |
| Escaping | RFC 4180 (inner quotes doubled) |
| Nesting | Not expanded; flat objects only |
| Download | data.csv |
| Where it runs | In your browser, as you type |
Flat objects only. A nested object comes out as the literal text [object Object], and an array as its comma-joined values in one cell; neither expands into separate columns. For clean columns, flatten nested JSON first with the JSON flattener.
Columns appear in the order their keys are first seen, not in alphabetical order.
Values are written as they are, so numbers and booleans become plain text. That is normal for CSV, which has no data types.
Excel can re-type CSV values when it opens the file, stripping leading zeros and turning codes into dates. That comes from Excel, not this tool. Import through Data → From Text/CSV as Text to avoid it.
Get API or app output into Excel or Google Sheets as rows and columns.
Prepare JSON data for a tool that takes CSV but not JSON.
Give someone a readable table instead of a block of JSON.
Lay JSON records out as rows to compare them line by line.
Flatten nested JSON first with the JSON flattener. For a real spreadsheet file instead of CSV text, use JSON to Excel. If Excel re-types the CSV, import it through Data → From Text/CSV as Text.
Columns come from the union of all keys and fields are escaped per RFC 4180. Only one level is flattened, so nested objects and arrays stay in a single cell.
Turn CSV rows into a clean JSON array of objects, with the header row as the keys. The data stays in your browser.
Turn pasted CSV into a real .xlsx workbook with SheetJS. Cells are written as text, so Excel can't strip leading zeros or turn codes into dates when the file opens.
Pull the first sheet of an Excel workbook out to plain CSV in your browser. Formulas become their values, and the file stays on your computer.
Convert the Markdown you use every day (headings, emphasis, code, links, images and bullet lists) to clean HTML in your browser. It covers a subset of Markdown, not full CommonMark.
Extract the plain text from a Word .docx file in your browser. You get the words without the formatting, and your document is read on your device instead of being uploaded.
Compress an image to JPEG with a quality slider and watch the file size drop as you drag, in your browser.
Paste or pick your input at the top of the page. The conversion runs on this device and needs no account.