JSON to CSV Converter

Convert JSON arrays to CSV instantly in your browser. Supports nested objects, custom delimiters, and one-click download. Free and private -- no data sent to any server.

Free Tool

Quick Answer

How do I convert JSON to CSV for free?

Paste your JSON array into the input box and click Convert. The tool instantly produces a CSV with headers from your JSON keys. Nested objects are flattened using dot notation. You can copy the result or download it as a .csv file. No signup required and no data is sent to any server.

JSON to CSV Converter

All conversion happens in your browser -- your data never leaves your device

No input

No output

About this tool

This JSON to CSV converter runs entirely in your browser -- no server uploads, no accounts, no data storage. Paste any valid JSON array of objects and get a properly formatted CSV back in seconds. It handles the edge cases that trip up most online converters: nested objects, inconsistent keys across rows, array values, null fields, and special characters that need quoting.

The tool is built for developers working with API responses, database exports, and data pipeline outputs. Whether you need to load JSON data into a spreadsheet, import records into a CRM, or hand off structured data to a non-technical colleague, the one-click download gets you a clean .csv file without any manual reformatting.

How it works

  1. 1

    Paste your JSON

    Paste your JSON array into the input textarea. Use the Format JSON button to pretty-print it first if needed.

  2. 2

    Select your delimiter

    Choose comma (standard CSV), semicolon (common in European locales), or tab (TSV). The download file extension updates automatically.

  3. 3

    Click Convert

    The converter extracts all unique keys across every object, flattens nested objects using dot notation, and writes one CSV row per JSON object.

  4. 4

    Copy or Download

    Copy the output to clipboard for pasting into a spreadsheet, or download it as a .csv file for import into Excel, Google Sheets, or any data tool.

Supported JSON formats

1. Array of objects (most common)

JSON input

[
  {"name": "Alice", "age": 30},
  {"name": "Bob",   "age": 25}
]

CSV output

name,age
Alice,30
Bob,25

2. Single object (auto-wrapped in array)

JSON input

{"name": "Alice", "city": "NYC"}

CSV output

name,city
Alice,NYC

3. Nested objects (flattened with dot notation)

JSON input

[
  {
    "name": "Alice",
    "address": {
      "city": "NYC",
      "zip": "10001"
    }
  }
]

CSV output

name,address.city,address.zip
Alice,NYC,10001

JSON to CSV conversion rules

Input typeHow it is handled
Array valuesJoined with a pipe character (e.g. tag1|tag2|tag3)
Nested objectsFlattened one level deep using dot notation (e.g. address.city)
null / undefined valuesOutput as an empty string -- the CSV cell is left blank
Special charactersValues containing the delimiter or quotes are wrapped in double quotes; internal quotes are doubled per RFC 4180
Missing keysUnion of all keys used as headers; missing values for any row output as empty string
Numeric valuesOutput as-is without quoting (e.g. 42, 3.14)

Frequently asked questions

How do I convert JSON to CSV online?
Paste your JSON array into the input box, click Convert, and your CSV appears instantly. You can copy it to clipboard or download it as a .csv file. No signup or account required.
What JSON formats does this converter support?
This tool supports JSON arrays of objects (the most common format), single JSON objects (automatically wrapped in an array), and nested objects (flattened using dot notation, for example address.city becomes a column header).
How are nested JSON objects handled?
Nested objects are flattened one level deep using dot notation. For example, an object like {"user": {"name": "Alice", "city": "NY"}} produces columns named user.name and user.city in the CSV output.
What happens if JSON objects have different keys?
The converter takes the union of all keys across all objects. Missing values for any key are output as empty strings. This handles inconsistent JSON structures common in real API responses.
Can I change the CSV delimiter?
Yes. The delimiter selector lets you choose comma (default, standard CSV), semicolon (common in European locales), or tab (TSV format). The output and download file use whichever delimiter you select.
Is my data sent to a server?
No. All conversion happens entirely in your browser using JavaScript. Your JSON data never leaves your device and is not stored or transmitted anywhere.
How do I handle JSON with arrays as values?
Array values are joined with a pipe character. For example, {"tags": ["js", "python"]} produces js|python in the CSV cell. This keeps the CSV structure valid while preserving the array data.
What is the maximum file size this tool can handle?
There is no hard limit imposed by this tool. Performance depends on your browser and device. Files up to 10MB convert instantly on modern hardware. For very large JSON files (50MB plus), consider splitting the data first.

Related guides

Related tools