Skip to content
ToolzKit

Data & Conversion

JSON to CSV Converter

Convert an array of JSON objects (or a single object) into a properly quoted CSV file.

JSON

Array of objects, or a single object

CSV

Converted CSV appears here.

Columns are collected as a union of keys in first-seen order across all rows, so missing fields become empty cells.

About the JSON to CSV Converter

This tool converts JSON — an array of objects, or a single object — into CSV, using the union of all keys (in first-seen order) as columns. Nested objects can optionally be flattened into dot-path columns, and values are correctly quoted and escaped per CSV conventions.

How to use it

  1. 01Paste a JSON array of objects, or a single object.
  2. 02Choose whether nested objects should be flattened into dot.path columns.
  3. 03Select your preferred delimiter.
  4. 04Copy the CSV or download it as a file.

Features

  • Column set built from the union of keys across all rows, in first-seen order
  • Optional flattening of nested objects into dot-path column names
  • Correct quoting and escaping of commas, quotes and newlines
  • Delimiter selection: comma, semicolon, tab, pipe
  • One-click .csv download

Practical examples

Exporting API results

Convert an array of records fetched from an API into a spreadsheet-friendly CSV.

Reporting nested config

Flatten nested settings objects into readable dot.path columns for a report.

Limitations

  • Arrays nested inside objects are serialized as JSON text within a single cell rather than expanded into extra columns.
  • Rows missing a given key simply get an empty cell for that column.

Privacy

Conversion runs entirely client-side; your JSON data never leaves your browser.

Read the full privacy policy for how the site as a whole handles data.

Frequently asked questions

What happens with a single JSON object instead of an array?

It's treated as a one-row array automatically, producing a header row plus one data row.

What does flattening do?

It turns nested keys like address.city into a single dot.path column name instead of a raw JSON string.

How are commas inside values handled?

Any value containing the chosen delimiter, a quote, or a newline is wrapped in double quotes with internal quotes doubled, per standard CSV escaping.