JSON ↔ CSV Converter
Convert between JSON arrays and CSV. Auto-converts as you type.
Related Tools
From the makers of JSON Knife
Get the JSON & API Cheat Sheet
Formatting tricks, jq commands, and common patterns — one page, zero fluff.
How to Convert JSON to CSV
When you need to move data from an API response or a JSON data dump into a spreadsheet, you need a JSON to CSV converter. This tool takes a JSON array of objects and flattens it into comma-separated rows, with the object keys as column headers. Everything runs client-side — your data stays in your browser.
This is particularly useful for exporting analytics data, user records, or any tabular data that's stored as JSON. Paste in an array like [{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}] and get a clean CSV you can open in Excel, Google Sheets, or import into a database.
The converter handles nested objects by flattening them with dot notation (e.g., address.city) and arrays by joining values. If your JSON isn't a flat array of objects, you may need to reshape it first — the tool expects the top-level structure to be an array. Need to convert JSON to a different format entirely? We also have a JSON to TOML converter for Rust and Python project configs, and a JSON to YAML converter for Kubernetes and Docker Compose files.
Tips
- Your JSON must be an array of objects at the top level — a single object or a nested structure won't convert directly.
- Fields containing commas, quotes, or newlines are automatically escaped in the CSV output.
- For large datasets, consider using
jqlocally:jq -r '[.[] | {name, email}] | (first | keys_unsorted) as $keys | $keys, map([.[$keys[]]])[] | @csv'. - If columns are missing for some rows, the converter fills in empty values to keep the CSV rectangular.