Paste JSON (array of objects) below and get CSV output instantly.
Converting a small array with a missing key and a value containing a comma.
Three columns, two rows, with the comma-bearing value safely quoted and the missing cells left empty.
A single object on its own, or an array wrapped inside a container object, both return nothing usable. If your data looks like {"results": [ ... ]}, extract the inner array first — paste just the part starting at the opening square bracket. This is the most common reason the converter reports that it cannot find an array of objects.
A value that is itself an object or an array is converted with the same string coercion as everything else, so a nested object becomes the text [object Object] and a nested array becomes its comma-joined contents. Flatten your data before converting if it has depth — turning {"address":{"city":"X"}} into {"address_city":"X"} first is the reliable route.
CSV carries no type information, so a spreadsheet re-interprets each cell on import. Values with leading zeros, long digit strings and anything that resembles a date are the usual casualties — a postcode or an identifier can lose its leading zero or be reformatted entirely. If that matters, import the file rather than opening it directly and set the affected columns to text at the import step.
The JSON is parsed and converted locally and the download is generated from the text on the page. Nothing is uploaded to a server, which is what makes it safe to use on data you would not want to send anywhere. The parse error message, when the JSON is malformed, comes from the browser’s own parser and usually names the exact character position of the problem.
An array of objects at the top level, like [{"a":1},{"a":2}]. Objects do not need identical keys — every key found anywhere becomes a column and missing values are left blank. A bare object or an array nested inside another object will not convert until you extract the array.
They are wrapped in double quotes, and any double quote inside the value is doubled, which is the standard CSV escape. Values containing line breaks are handled the same way, so the file opens correctly in a spreadsheet.
Because CSV is flat and has no way to represent nesting. Values that are themselves objects are converted to text using the default string conversion. Flatten nested structures into separate top-level keys before converting.
No. Parsing, conversion and the file download all happen in your browser. The data never leaves the page, which is why it is safe to use on records you would not paste into a hosted service.
One licence key, pasted into any CYZOR tool. Today it does three things: drops the CYZOR line from PDFs you send for signature, takes CYZOR branding off your forms and adds CSV export, and switches on the AI rewrite in the resume builder.