JSON to CSV Converter — Export JSON Arrays to Spreadsheet-Ready CSV

Convert JSON arrays to CSV format with one click. Supports nested objects. Free, secure, and runs entirely in your browser.

Updated:

Loading tool…

How to Convert JSON to CSV Online — Download as Excel-Ready File

To convert JSON to CSV, paste your JSON array into the Input panel. The JSON must be an array of objects at the top level — for example: [{"name":"Alice","age":30},{"name":"Bob","age":25}]. Click Convert and the tool extracts the keys from the first object as column headers, then maps each object's values into a corresponding CSV row. The resulting CSV appears in the Output panel and is ready to copy or download.

For nested objects, the tool flattens them using dot notation — so {"address":{"city":"Paris"}} becomes a column named address.city. Arrays inside objects are serialized as JSON strings within the CSV cell so no data is lost. If your objects have inconsistent keys (some records have fields others don't), missing values are represented as empty cells. Click Download CSV to save the file directly to your device, or Copy to paste the output into a spreadsheet application.

JSON-to-CSV conversion is a routine step in data engineering and analytics workflows. Backend developers export API response data to CSV for stakeholders who work in Excel or Google Sheets. Data analysts convert MongoDB or Elasticsearch query results into tabular format for pivot tables and charting. DevOps teams flatten JSON log output from services like AWS CloudWatch or Datadog into CSV for spreadsheet-based incident analysis. The output from this converter is compatible with any application that reads RFC 4180 CSV, including Python pandas (pd.read_csv), R (read.csv), PostgreSQL COPY, and database import wizards. For the reverse operation — converting spreadsheet data into structured JSON — use the CSV to JSON Converter on this site.

Why Use This Free JSON to CSV Converter?

  • Handles nested objects by flattening them with dot-notation column headers
  • Supports inconsistent object shapes — missing keys produce empty CSV cells rather than errors
  • One-click CSV download — saves directly as a .csv file ready to open in Excel or Google Sheets
  • 100% browser-based — your JSON data never leaves your device
  • Instant conversion with no page reload
  • Completely free with no rate limits, no account, and no sign-up required
  • Union-key column detection — automatically discovers all unique keys across objects with different shapes

Frequently Asked Questions

What JSON structure does this converter expect?

The converter expects a JSON array of objects at the top level, where each object represents one row and the keys represent column names. For example: [{"id":1,"name":"Alice"},{"id":2,"name":"Bob"}]. It does not accept a single JSON object (use an array with one element), a JSON array of primitive values (strings, numbers), or deeply nested arrays of arrays. If your JSON is structured differently, you will need to reshape it before converting. The JSON data interchange format is defined in ECMA-404. If your JSON is minified or hard to read, paste it into the <a href="/tools/json-formatter/">JSON Formatter</a> first to validate and pretty-print it before conversion. For the reverse operation — converting CSV or spreadsheet data into JSON — use the <a href="/tools/csv-to-json/">CSV to JSON Converter</a>.

Source: ECMA-404 — The JSON Data Interchange Standard

How are nested objects and arrays handled?

Nested objects are flattened with dot notation. A field like {"address":{"city":"Paris","zip":"75001"}} produces two columns: address.city and address.zip. Arrays inside objects (e.g., a tags field containing ["javascript","web"]) are serialized as a JSON string within the CSV cell — the cell will contain ["javascript","web"]. This preserves the data without losing information, though the resulting cell is not directly usable as multiple values in most spreadsheet tools. Consider pre-processing deeply nested or array-heavy JSON before converting if you need a flat structure. The CSV output format follows RFC 4180.

Source: RFC 4180 — Common Format and MIME Type for CSV Files

How do I open the downloaded CSV in Excel or Google Sheets?

In Excel: open Excel, go to File → Open, select the downloaded .csv file, and Excel will detect the delimiter automatically. If values appear in one column, use Data → Text to Columns and choose Comma as the delimiter. In Google Sheets: go to File → Import, upload the .csv file, and select Comma as the separator. Both applications handle quoted fields (values that contain commas or newlines, which are wrapped in double quotes by the converter) correctly. Google Sheets' IMPORTDATA function can also load CSV directly from a URL if you host the file.

Source: Google Docs Help — Import data into Google Sheets

What happens if my JSON objects have different keys?

The converter uses the union of all keys found across every object in the array as the column headers. Objects that are missing a particular key produce an empty cell in that column. For example, if the first object has {"name":"Alice","email":"a@b.com"} and the second has {"name":"Bob","phone":"555-1234"}, the CSV will have three columns: name, email, and phone — with Alice's phone cell empty and Bob's email cell empty. This approach mirrors how JSON.parse() processes the data — each object is independent and may contain any combination of keys as permitted by the JSON specification.

Source: MDN — JSON.parse()

Do I need to sign up or create an account to use this tool?

No. The JSON to CSV converter is completely free to use with no account, no sign-up, and no email required. Open the page, paste your JSON, and click Convert — that's it. There are no usage limits, no rate caps, and no premium tier. The tool runs entirely in your browser as a static web application — there is no backend server processing your requests.

Is my JSON data secure? Does it get uploaded to a server?

Your data never leaves your device. The entire conversion process runs in your browser using JavaScript — no network request is made, no data is sent to any server, and nothing is stored or logged. This is true even for large JSON files: all parsing, column detection, and CSV generation happen locally on your machine. You can verify this by opening your browser's network tab in DevTools while running a conversion and observing that no outbound request is made. The tool uses the browser's native JSON.parse() and string manipulation APIs — the same APIs used by every modern web application for client-side data processing.

Source: MDN — Web Storage API (no storage used by this tool)

By UtilDaily · Updated \u2014 free, privacy-first browser tools. No sign-up, no data collection.