JSON to CSV

Converts a JSON array of flat objects to CSV. The header row is taken from the first object's keys; values that need it are quoted per standard CSV rules.

Private by architecture: All processing is 100% client-side memory. Your data never leaves this browser tab.
JSON input
0 lines · 0 charsJSON
CSV output
Ctrl/Cmd+Shift+C
0 charsCSV

About This Tool

A JSON array of flat objects (API responses, log records, exported data) often needs to land in a spreadsheet or a system that only speaks CSV. This tool builds the header row from the first object's keys, then writes one row per object, quoting values per standard CSV rules where a comma, quote, or newline requires it.

It expects a flat object shape; deeply nested JSON won't map cleanly to rows and columns. For the reverse direction, use CSV to JSON; to generate SQL INSERT statements instead of CSV, see JSON to SQL.

Key Features

  • Bidirectional conversion: one Direction dropdown (or the ⇌ swap button) switches between JSON → CSV and CSV → JSON.
  • Four delimiters: comma, semicolon, tab, or pipe.
  • Optional header row: toggle whether the first row of output is a field-name header.
  • Standard CSV quoting: values containing the delimiter, quotes, or newlines are quoted per RFC-4180 rules.
  • First-object key order: the header (and column order) comes from the first object's own key order, keeping output deterministic.
  • File upload: load a .json or .csv file directly instead of pasting.

Example

[
  { "name": "Ada", "age": 30 },
  { "name": "Grace", "age": 28 }
]

produces:

name,age
Ada,30
Grace,28

FAQ

Can I convert CSV back to JSON?
Yes! Click the ⇌ swap button or toggle the Direction dropdown to convert CSV tables back into JSON arrays.
What if objects have different keys?
The header row is taken from the first object's keys only. Later objects contribute values for those same keys.
Can I open this in Excel?
Yes. The output is standard CSV and opens in Excel, Google Sheets, and Numbers.