JSON Input

CSV Output

What Is JSON to CSV?

You pull a REST API response with 500 records, paste it into Excel — and it's just one giant cell. That's the JSON-to-CSV problem every developer hits eventually. This tool takes a JSON array, flattens each object into a row, and outputs a clean RFC 4180-compliant CSV file you can open directly in Excel or Google Sheets. The JSON specification on json.org defines the input format. For data science workflows, it pairs naturally with pandas read_csv — just export here and load it in Python. PostgreSQL's COPY command also loads CSV directly for bulk inserts. Everything runs in your browser — nothing uploaded, safe for sensitive data.

This tool takes a JSON array and produces CSV. Each object in the array becomes one row. Nested objects and arrays are flattened or stringified depending on structure. The conversion runs in your browser; nothing is sent to a server.

How to Use This Tool

1

Paste Your JSON

Paste a JSON array into the left editor. The input should be an array of objects, e.g. [{"subscriberId": "SUB-001", "planId": "premium"}, {"subscriberId": "SUB-002", "planId": "basic"}]. You can also upload a file or use Sample.

2

Review the CSV

The right panel shows the CSV output. The first row is the header (column names). Values containing commas are quoted per RFC 4180.

3

Download or Copy

Use Download to save as a .csv file, or Copy to paste into a spreadsheet. If your JSON needs formatting first, use the JSON Formatter.

Where JSON to CSV Helps

API responses from Postman or fetch often return arrays of objects. Converting to CSV lets you open the data in Excel or Google Sheets for analysis, sharing with stakeholders, or importing into other systems. Database exports, webhook payloads, and log entries that are JSON arrays can be flattened to CSV for reporting or ETL pipelines. jq can extract specific values first if you need to filter before converting.

JSON to CSV Examples

Here is an example of converting a JSON array of subscriber records to CSV format.

Example: Subscriber records

JSON input (array of objects):

JSON Input

CSV output:

Output

Limitations

CSV is flat. Deeply nested JSON (objects inside objects, arrays of arrays) doesn't map cleanly. This tool flattens one level: top-level keys become columns. Nested structures may be stringified or flattened with dot notation. For complex data, consider keeping it as JSON or using a format like Parquet.

If your data is in CSV and you need JSON, use CSV to JSON. For converting JSON to other formats, there are tools for XML, YAML, and TypeScript.

Frequently Asked Questions

What if my JSON is an object, not an array?

The tool expects an array of objects. Wrap a single object in brackets: [{"a": 1}]. Or convert it to an array in your source.

How are nested objects handled?

Nested objects are typically flattened with dot notation (e.g. user.name) or stringified. The exact behavior depends on the implementation. Check the output to confirm.

What about special characters in values?

Values with commas, quotes, or newlines are wrapped in double quotes per the CSV spec. Excel and most tools handle this correctly.

Can I convert CSV back to JSON?

Yes. Use the CSV to JSON tool on this site.

Is my data private?

Yes. Conversion runs in your browser. No data is uploaded.

Related Tools

The CSV format is described in RFC 4180. For JSON, see json.org, RFC 8259, and MDN JSON. See also jq for JSON processing.