Convert a JSON array of objects into CSV data, automatically building a header row from all the keys used across your objects.
Google AdSense Banner
This area will contain advertisements after approval.
Google AdSense Banner
This area will contain advertisements after approval.
This tool expects a JSON array of flat objects (like [{"name":"Alice","age":30}, ...]). It collects every key used across all objects to build the header row, then writes one CSV row per object, quoting any value that contains the delimiter, a quote character, or a line break.
If some objects are missing a field that others have, the resulting CSV cell for that row and column is simply left blank, the header row always includes every key seen across the full array.
Converting [{"name":"Alice","age":30},{"name":"Bob","age":25}] with a comma delimiter produces the header row 'name,age' followed by 'Alice,30' and 'Bob,25', three lines total. If a value itself contained a comma, like a name 'Smith, John', that field would automatically be wrapped in quotes in the output so it isn't mistaken for two separate columns.
Passing a single JSON object instead of an array, even one record needs to be wrapped in an array, [{...}], or the tool will reject it as not being an array of objects.
Not realizing the header row reflects the union of every object's keys, if one object has an extra field the others lack, that field still gets its own column, with blank cells for the objects missing it.
Assuming a nested object or array inside a field converts to separate columns, it's instead flattened to its JSON string representation in a single cell, since plain CSV has no way to represent nested structure.
Yes, the input must be a JSON array of objects. A single object or a nested structure would need to be restructured into a flat array first.
They're converted to their JSON string representation in the CSV cell, since CSV itself has no concept of nested structure.
Google AdSense Banner
This area will contain advertisements after approval.