Paste a JSON array of objects and get CSV you can open in Excel, Google Sheets or LibreOffice. Choose the delimiter to match your locale, and see the row and column count. Everything is processed in your browser — your data never leaves the page.
How it works
The converter reads your JSON and builds a header from the union of every object’s keys, in the order they first appear. Each object becomes a row; missing keys are left blank. Values that contain a comma, quote or line break are wrapped in double quotes and internal quotes are doubled, following the RFC 4180 CSV rules that spreadsheets expect.
Nested objects and arrays can’t sit in a single cell, so they’re kept as compact JSON text — you can expand them later if needed. A plain array of values becomes a single “value” column, and an array of arrays is written row-for-row with no header. A single object is treated as one row.
Practical examples
A list of users
Input [{"id":1,"name":"Mila"},{"id":2,"name":"Petar"}] gives a header id,name and two rows. Open it straight in Sheets by pasting or importing the file.
Rows with different keys
If one object has an "email" the others lack, the column still appears in the header and rows without it are left blank — no data is silently dropped.
Semicolon delimiter for Excel in Serbia
Excel set to a Serbian locale expects semicolons, not commas. Switch the delimiter to “;” and the file opens into columns without a text-import wizard.
Frequently asked questions
What JSON shape does it accept?
An array of objects works best — each object is a row. It also handles a single object (one row), an array of primitives (a single “value” column), and an array of arrays (written row-for-row). Mixed arrays that combine objects and non-objects are rejected.
Which delimiter should I choose?
Comma is the international default. Choose semicolon if your Excel uses a European locale (including Serbian), where comma is the decimal separator and semicolon separates columns. Tab is handy for pasting directly into a spreadsheet.
How are commas and quotes inside values handled?
Any value containing the delimiter, a double quote or a line break is wrapped in double quotes, and quotes inside it are doubled — the standard CSV escaping every spreadsheet understands. Plain values are left unquoted.
What happens to nested objects or arrays?
They’re written as compact JSON inside the cell (for example {"a":1} or [1,2]). CSV has no concept of nesting, so this keeps the data intact rather than flattening or losing it.
Why is a column blank for some rows?
Because that object didn’t have that key. The header is the union of all keys, so every field gets a column and rows that lack it are simply empty — the columns stay aligned.
Does it keep the order of my keys?
Yes. Columns follow the order keys first appear across the objects, so the first object’s fields lead and any new fields from later objects are appended on the right.
Is my data uploaded anywhere?
No. The conversion runs entirely in your browser with JavaScript. Nothing is sent to a server, so it’s safe for private or internal data.
How do I get an actual .csv file?
Copy the output and paste it into a new file saved with a .csv extension, or into a blank spreadsheet. Because it’s standard CSV text, any editor or spreadsheet app will read it.
Related tools
CSV to JSON Converter
Convert CSV to JSON in your browser. Header-to-keys, custom delimiter and optional number/boolean parsing.
Developer tools
JSON Formatter
Beautify, validate or minify JSON in your browser — with clear error messages. Nothing is uploaded.
Developer tools
URL Parser
Break any URL into protocol, host, port, path, query and hash, and list its decoded query parameters. In your browser.
Developer tools
Query String Parser
Parse a query string or URL into decoded key/value pairs and JSON. Repeated keys become arrays. In your browser.
Developer tools
PNG to JPG Converter
Convert PNG images to JPG in your browser — with adjustable quality, size comparison and no uploading.
Image tools
WebP to JPG Converter
Convert WebP images to widely supported JPG in your browser — adjustable quality, batch, no uploads.
Image tools