Data Converters

JSON to CSV Converter

Turn JSON arrays into clean CSV tables without installing anything. The converter flattens nested objects, extracts all unique keys as headers, and lets you download a .csv ready for Excel or Google Sheets.

Flattens nested objects Browser-only Copy or download .csv
JSON CSV
Paste JSON below, or drop a file
Options

Converted entirely in your browser; your data never leaves your device

Input Text Output Text Browser-only No upload by default

Features

  • Converts JSON arrays of objects to tabular CSV
  • Flattens one level of nested objects into dot-notation columns
  • Auto-extracts all unique keys as column headers
  • Handles missing fields per row gracefully (empty cells)
  • Copy result or download as .csv
  • Works with large arrays. No row limit

How to use it

  1. Paste your JSON array into the input panel.
  2. Enable 'Flatten nested objects' if your data has sub-objects.
  3. Click Convert. The CSV table appears in the output.
  4. Copy or download the .csv file for Excel, Sheets, or databases.

Use cases

  • Exporting API response data to a spreadsheet
  • Converting a JSON database backup to a reviewable table
  • Preparing data for import into Airtable or Notion databases
  • Sharing structured data with non-developers

Limitations

  • Arrays inside fields are serialized as JSON text.
  • CSV has no native type information, so numbers, booleans, and dates may need review after export.
  • Very large JSON files depend on browser memory.
Questions & answers

Frequently asked

Does it support arrays of arrays?

The tool expects an array of objects. Arrays of primitives or nested arrays are converted to string representations in the cell.

What happens to null or undefined values?

Null values appear as empty cells. Undefined (missing keys) also produce empty cells.

Does JSON to CSV upload my data?

Your file or text is processed in your browser and is not uploaded.

What JSON shapes are supported?

The tool accepts a single object or an array of objects. Other JSON values are rejected because they do not map cleanly to CSV rows.

How are nested objects handled?

Use the flatten option to turn nested fields into dot-path columns such as user.name.