A JSON array where every element is a plain object, or a single JSON object (treated as one row). Arrays of numbers, strings, or nested arrays are not supported as row roots.
Headers are object keys. Key order starts from the first object’s keys in order, then any new keys from later objects are appended in first-seen order so every column appears once.
Comma is the default. You can switch to tab, semicolon, or pipe to match regional spreadsheet exports or downstream parsers.
Non-primitive values are JSON.stringify’d into one cell, with RFC-4180 quoting so commas and quotes inside the cell do not break the CSV structure.
Yes for typical data: UTF-8 text with quoted fields when needed. For Excel in some locales, you may need to import and pick delimiter/encoding explicitly for semicolon-separated files.
null becomes an empty field. If a row omits a key that exists in the header, that cell is left empty.
Use the CSV to JSON converter for that direction; these two tools are complementary when your data is tabular rows as objects.