JSON to CSV Converter
Convert JSON objects and arrays into CSV spreadsheets. Handles nested data, custom delimiters, and large files — all in your browser.
How to Convert JSON to CSV
- Paste your JSON data into the input field above. Accepts arrays of objects (most common), single objects, or nested structures. You'll see a sample pre-loaded to get started.
- Choose your options. Pick a delimiter — comma for standard CSV, semicolon for European locales, tab for TSV files. Toggle header row on/off, and optionally pretty-print your JSON input.
- Click "Convert to CSV". The tool parses your JSON, extracts all keys across objects, flattens nested properties into dot-notation columns, and generates clean CSV output.
- Download your CSV file with one click. Opens in Excel, Google Sheets, or any spreadsheet application.
Supported JSON Formats
Our converter handles the JSON structures you'll actually encounter:
- Array of objects — the most common API response format. Each object becomes a row, each key becomes a column.
- Single object — a flat JSON object becomes a single-row CSV with keys as headers.
- Nested objects — automatically flattened using dot notation.
{"user": {"name": "Alice"}}becomes columnuser.namewith valueAlice. - Arrays inside objects — stringified into a single cell so no data is lost.
- Mixed keys across rows — the converter collects all unique keys across all objects, so no column is missed even if some objects don't have every key.
When to Convert JSON to CSV
JSON is the lingua franca of web APIs, but CSV is the universal format for data analysis and business tools. Converting JSON to CSV is essential when you need to:
- Open API data in Excel or Google Sheets — most REST APIs return JSON, but spreadsheet applications natively open CSV files.
- Import data into databases — SQL databases (MySQL, PostgreSQL, SQLite) and data warehouses (BigQuery, Snowflake) have native CSV import tools.
- Share data with non-technical teammates — marketing, sales, and operations teams work in spreadsheets, not JSON viewers.
- Run data analysis in Python or R —
pandas.read_csv()is the first line of most data analysis scripts; converting JSON to CSV is step zero. - Create data backups — CSV is a simple, human-readable format that will be accessible decades from now.
- Merge multiple API responses into one spreadsheet — fetch paginated JSON endpoints, save each page as a separate conversion, and concatenate the resulting CSVs into a single dataset in your spreadsheet application.
- Feed JSON into BI tools — Tableau, Power BI, and Looker Studio all import CSV natively. Convert your JSON API payloads to CSV for one-click data visualization and dashboarding.
FAQ
Is my data secure?
Yes. All conversion happens in your browser using JavaScript. Your data never leaves your device — nothing is uploaded to any server. You can verify this by opening your browser's Developer Tools (F12), going to the Network tab, and clicking Convert. You'll see zero network requests.
What's the maximum file size?
There is no hard limit — the converter processes data in your browser's JavaScript engine. For best performance, we recommend files under 10 MB. Very large JSON files (50 MB+) may cause the browser tab to slow down, but they will still work.
Does this handle nested JSON?
Yes. Nested objects are flattened into dot-notation column names. For example, {"address": {"city": "Paris", "zip": "75001"}} becomes two CSV columns: address.city and address.zip.
What if my JSON has special characters?
CSV fields containing commas, quotes, or newlines are automatically wrapped in double quotes and escaped according to RFC 4180, the CSV standard. The output is compatible with Excel, Google Sheets, LibreOffice Calc, and all major data tools.
Can I convert CSV back to JSON?
Yes — use our CSV to JSON converter for the reverse operation.
Can I convert JSON with thousands of objects?
Yes. The converter processes everything in your browser's JavaScript engine. For files up to 10 MB (roughly 100,000+ flat objects), performance remains responsive. Very large files may cause a brief pause — the conversion is synchronous for reliability.
Does the order of JSON keys matter?
No. The converter collects all unique keys across every object and produces columns in alphabetical order. If you need a specific column order, pre-process your JSON or re-order the CSV columns afterward.
JSON-to-CSV Gotchas — What Can Go Wrong
Even a well-formed JSON file can produce unexpected CSV output. Here are the edge cases to watch for:
- Nested objects produce long column names. Our converter flattens
{"user": {"address": {"city": "Paris"}}}into the columnuser.address.city. Deeply nested data can create unwieldy column headers — consider flattening your JSON structure first if column count matters. - Arrays inside objects become JSON strings. A field like
"tags": ["foo","bar"]becomes the CSV cell["foo","bar"]. This preserves data but means you'll need a second parse step if you want individual tag columns. - Mixed data types in a column. If row 1 has
"age": 30and row 2 has"age": "thirty", CSV treats both as text. There's no type enforcement — the spreadsheet application decides how to display them. - Quoting and delimiters. If your JSON string values contain commas, the CSV output wraps them in double quotes. Our converter handles this automatically, but be aware that some CSV parsers handle quoting differently.
- BOM for Excel. If your output CSV doesn't open correctly in Excel (especially with non-ASCII characters), try our CSV-to-JSON converter with the BOM option to add the UTF-8 byte order mark that Excel expects.