Paste a JSON array of objects and convert it to CSV format instantly. Headers are auto-detected, nested objects are flattened, and you can download the result.
A JSON to CSV converter is a tool that transforms data from JavaScript Object Notation (JSON) format into Comma-Separated Values (CSV) format. JSON is the standard data interchange format used by web APIs, configuration files, and NoSQL databases. CSV is the universal spreadsheet format accepted by Excel, Google Sheets, LibreOffice Calc, and virtually every data analysis tool.
This converter handles the most common JSON structure — an array of objects — where each object represents a data record. It automatically detects all unique keys across all objects to create comprehensive CSV headers, even if some keys only appear in certain records. Nested objects are flattened using dot notation, so {"address":{"city":"NYC"}} becomes a column named address.city.
Unlike server-based converters, this tool processes everything in your browser. Your data never leaves your device, making it safe for converting sensitive datasets, customer information, or proprietary business data.
Our JSON to CSV converter instantly transforms JSON arrays into spreadsheet-compatible CSV format. Perfect for developers and data analysts who need to move data between web applications and Excel or Google Sheets. Auto-detects headers, flattens nested objects, and supports custom delimiters.
1. Paste your JSON data: The tool accepts a JSON array of objects — the most common format returned by REST APIs, database exports, and configuration files. Click "Load Example" to see a sample with nested objects and arrays.
2. Choose your delimiter: Select comma (CSV), semicolon, tab (TSV), or pipe. Changing the delimiter re-converts automatically if you already have output. Tab-separated output downloads as a .tsv file.
3. Click "Convert to CSV": The tool scans all objects to collect every unique key as a column header — even keys that appear only in later records. Nested objects are flattened using dot notation (e.g., address.city), and arrays are stringified as JSON.
4. Preview and download: A table preview shows the first 10 rows so you can verify the conversion before downloading. The status bar displays column count, row count, and the active delimiter.
This converter expects a JSON array of objects. Each object represents a row, and the keys become the CSV headers. For example: [{"name":"Alice","age":30},{"name":"Bob","age":25}].
Nested objects are automatically flattened using dot notation. For example, {"user":{"name":"Alice"}} becomes a column named "user.name" with the value "Alice".
Yes, you can choose between comma (,), semicolon (;), tab (TSV), or pipe (|) delimiters. This is useful for importing into different spreadsheet applications that may require specific formats.
Special characters, quotes, and newlines are automatically escaped according to CSV standards. This ensures the output can be correctly imported into spreadsheet applications without parsing errors.
There's no strict file size limit, but very large JSON files (over 10MB) may take longer to process due to browser limitations. For larger files, consider using server-side conversion tools.
Absolutely. All processing happens locally in your browser. Your JSON data is never sent to any server, making it completely safe for sensitive information, customer data, or confidential business records.
Yes. Nested objects are flattened to dot-notation keys (e.g., "user.address.city" becomes a single column). Arrays are converted to their JSON string representation. For deeply nested structures, the flattened column names may become long — this is standard behavior for CSV conversion of hierarchical data.
The converter collects all unique keys across every object in the array, not just the first one. If a key is missing from a particular object, that cell in the CSV will be empty. This ensures consistent column alignment across all rows.