What JSON becomes CSV?
Choose a JSON object or an array of objects. The converter discovers columns across every record and writes UTF-8 CSV with a byte-order mark for spreadsheet compatibility. Quoted commas, quotes and line breaks are escaped and the generated rows are parsed again before download.
Cases that cannot be exported safely
CSV does not retain JSON types: nested objects and arrays become JSON text inside cells. Missing properties and null values cannot be distinguished from empty CSV fields, so the converter refuses them instead of silently inventing data. Duplicate JSON property names, decimals that JavaScript would round, and dangerous spreadsheet formulas also stop export.
Example and practical limits
For records such as [{"name":"Ana","units":2},{"name":"Luis","units":3}], the result has two columns and two data rows. Input is limited to 10 MB, 50,000 rows, 200 columns and 100,000 characters per cell. Check downstream systems for number, date and boolean typing after import.
Related workflows
For delimited files with inconsistent rows, use CSV repair first. To convert an existing CSV to structured records, use CSV to JSON. For mixed-file verification without altering valid inputs, see universal batch.
Unicode and encoded output: an extra integrity check
JSON permits escape sequences for individual UTF-16 surrogate halves. A lone half cannot be encoded as valid UTF-8 CSV and would silently become a replacement character. This converter now rejects such values, as well as NUL and unsupported control characters. It also reads the actual UTF-8 output bytes back and compares every parsed cell before download.
Example: an emoji and an invalid escape
[{"label":"🚀"}] represents a valid paired emoji and can be exported. A single unpaired \uD800 cannot. If you need to preserve an unusual JSON representation byte for byte, keep it as JSON rather than exporting a CSV cell. Use Format JSON for a readable JSON copy.
The source JSON is limited to 128 levels of nesting and 100,000 object/array containers before parsing.