JSON to CSV Converter
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.
Turn CSV rows into a clean JSON array of objects, with the header row as the keys. The data stays in your browser.
Updated
Your browser is preparing the tool. It runs 100% locally.
Paste CSV and this returns a JSON array of objects: the header row becomes the keys, and every following row becomes one object. It follows the RFC 4180 rules, so quoted fields, commas inside quotes and doubled quotes are all handled. Every value comes out as a string (the number 30 becomes text), because CSV carries no type information to preserve.
Paste comma-separated data and the tool returns a JSON array. The first row is read as the field names, and each later row becomes an object keyed by them. It opens on a small name-age-city example, converts as you type, and lets you copy the result or download it as data.json.
Code, APIs and config files work in JSON, so this turns a spreadsheet export into a structure a program can loop over. In most codebases that is much easier to handle than raw CSV.
It parses the CSV character by character instead of naively splitting on commas. Double-quoted fields are respected, so a comma or line break inside quotes stays part of the value, and a doubled quote inside a field is read as one literal quote, as RFC 4180 specifies. Fully blank rows are dropped.
The first row becomes the list of keys, and each remaining row is paired with those keys to form an object. The array is then printed as JSON with a two-space indent.
No external data is involved. The conversion follows two specifications: RFC 4180 for reading the CSV, and the JSON syntax (RFC 8259 and ECMA-404) for writing the output. All of it runs in your browser.
Your browser parses the CSV you paste, and nothing goes to a server.
The page keeps no copy, so closing the tab clears the data.
That makes it a reasonable choice for customer lists, financial exports and other sensitive files.
| Input | CSV text (header row expected) |
|---|---|
| Output | JSON array of objects (2-space indent) |
| Delimiter | Comma |
| Quoting | RFC 4180 (doubled-quote escaping) |
| Value types | All strings; no type inference |
| Empty rows | Dropped |
| Download | data.json |
| Where it runs | In your browser, live |
Every value is a string. CSV stores no types, so 30 comes out as text and so does true. Convert them in your own code if you need real numbers or booleans.
The first row is always treated as the header. A file with no header row will use its first line of data as the keys.
The delimiter is a comma. Semicolon- or tab-separated files won't split correctly here, so convert them to comma CSV first (the TSV to CSV tool helps).
If a row has fewer cells than there are headers, the missing keys are left out of that object; the tool doesn't invent a value.
Turn a spreadsheet export into the JSON array your code or endpoint expects.
Generate mock or seed records for a database or test suite from a CSV.
Convert an analytics or report export so a JavaScript or Python script can loop over it.
See flat CSV rows as labelled objects to understand the data's shape.
No header row? Add one first. Semicolon or tab data? Convert it to comma CSV (TSV to CSV) first. Need typed numbers? Convert the string values in your own code after importing.
The converter reads CSV by the RFC 4180 rules and writes valid JSON. Every value lands as a string, because CSV carries no type information.
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.
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.