Loading…
Loading…
Paste a JSON array → get CSV with auto-detected headers
Paste a JSON array of objects below.
Run your projects on Claude Code?
We packaged the .claude config that runs this site — 26 specialist agents, 14 workflow skills, and 6 rule files from 31 real production incidents. From $9.
Get the Claude Code Production Pack — $29Most REST APIs return JSON, but data analysis, spreadsheet work, and most BI tools expect CSV. Converting a JSON array to a well-structured CSV — handling missing keys, nested objects, and RFC 4180 quoting — is tedious by hand and error-prone. This tool does it in one step with no configuration.
The converter first parses the input JSON and collects the union of all keys across every array element to build the header row. Nested objects are recursively flattened with dot-separated key paths (address.city, metadata.tags.0). Arrays inside objects are serialised with JSON.stringify to preserve their content in a single CSV cell.
Each row is built by mapping the header array against the current object. Missing keys produce empty cells. Values are passed through an RFC 4180 quoting function: strings containing commas, newlines, or double-quotes are wrapped in double-quotes with internal double-quotes doubled. The final CSV string is offered as a file download via a Blob URL with the text/csv MIME type.
A data analyst pulls order records from an e-commerce API as JSON and converts them to CSV for analysis in Excel without writing a Python script.
A developer exporting user data from a MongoDB collection converts the JSON dump to CSV for import into a CRM system.
A product manager converts a JSON export of feature flags and usage metrics into a spreadsheet for a weekly review meeting.
Paste a JSON array of objects into the input textarea
Headers are auto-detected from all object keys across the array
Review the CSV output — nested objects use dot notation keys
Copy to clipboard or download as a .csv file
About the JSON to CSV Converter
An array of objects, e.g. [{"name":"Alice","age":30},{"name":"Bob","age":25}]. Each object becomes one CSV row. The union of all keys across all objects forms the header row.
Nested objects are flattened using dot notation. {"address":{"city":"London"}} becomes a column named address.city. Arrays inside objects are serialised as JSON strings in the cell.
RFC 4180-compliant quoting is applied. Any value containing a comma, double-quote, or newline is wrapped in double quotes. Existing double-quotes inside values are escaped by doubling them.
This tool is JSON → CSV only. For the reverse, the JSON Formatter tool on this site supports CSV to JSON conversion as part of its format conversion features.
Builder/critic agent prompts with brakes built in
Open →DeveloperFormat, validate & diff JSON — runs entirely in browser
Open →DeveloperTest regex live — railroad diagrams + plain English explained
Open →DeveloperOne color in, full design system out
Open →