JSON to CSV Converter

Convert a JSON array of objects to CSV online. Auto-detects columns from all rows, handles nested objects with dot-notation flattening, and lets you download the result.

What is a JSON to CSV Converter?

A JSON to CSV converter transforms a JSON array of objects into comma-separated values format, making it easy to open data in spreadsheet applications like Excel or Google Sheets, import into databases, or pass to tools that only accept tabular input. JSON is the native format of web APIs, but analysts and data teams typically need CSV. This free online tool handles nested objects via dot-notation flattening, supports multiple delimiters, and lets you download the result directly.

Frequently Asked Questions

What is JSON-to-CSV conversion used for?

JSON-to-CSV conversion is used whenever you need to move data from a web API or NoSQL store into spreadsheet software, a relational database, a business intelligence tool, or any pipeline that expects tabular input. Common scenarios include exporting API data to Excel for non-technical stakeholders, loading records into PostgreSQL with COPY FROM, or feeding rows into pandas for analysis. CSV is the lingua franca of data exchange because virtually every tool that handles tabular data can read it.

How does nested object flattening work?

When "Flatten nested objects" is enabled, each nested key is joined to its parent key with a dot. For example, {"address": {"city": "London"}} becomes a column named address.city with the value London. This process recurses through all levels of nesting. Disabling this option treats nested objects as raw JSON strings in a single column, which is useful when the structure is irregular or the consumer can parse JSON values itself.

How are array values handled inside objects?

Array values inside JSON objects are serialised as a JSON string in a single CSV cell — for example, ["red","blue"] becomes the literal string ["red","blue"] in the column. This preserves the data without losing information and avoids expanding the array into dynamic columns (which would make the header row unpredictable). If you need arrays expanded into separate columns or rows, pre-process the JSON before converting, or use a dedicated transformation tool.

Which CSV delimiter should I choose?

Use comma for the widest compatibility — it is the default for Excel, Google Sheets, and most import dialogs. Use tab if your data contains commas inside values (addresses, descriptions) and the destination accepts TSV files. Use semicolon for European Excel locales where comma is the decimal separator. Use pipe as a safe fallback when data contains commas, semicolons, and tabs. Regardless of delimiter, values containing the chosen delimiter, double quotes, or newlines are automatically quoted and escaped per RFC 4180.

How do I open the downloaded CSV in Excel?

Click "Download CSV" to save data.csv, then open it in Excel. If Excel opens it as a single column, go to Data → Text to Columns and choose "Delimited", then select the delimiter you used. Alternatively, open Excel first, go to Data → From Text/CSV, select the file, and Excel's import wizard will detect the delimiter automatically. For Google Sheets, use File → Import and select "Comma" or "Tab" to match your chosen delimiter.

Related tools