Skip to main content

JSON → CSV Converter

Add to favorites
Delimiter:

How to use JSON → CSV Converter

Paste a JSON array of objects into the left panel. Select your preferred delimiter and toggle the header row option. The CSV output appears in real-time on the right. Click Copy to copy the CSV or Download .csv to save it as a file.

How JSON becomes CSV

JSON stores data as objects with named keys; CSV stores it as rows and columns. The converter reads every object in your array, collects the union of all keys as column headers, and writes each object as one row. Missing keys become empty cells, so arrays with inconsistent objects still convert cleanly.

Everything runs in your browser - the JSON is never uploaded to a server. That makes it safe for converting exports containing customer data, API responses, or logs that shouldn't leave your machine.

Opening the CSV in Excel or Google Sheets

  • Excel (US/UK): the default comma delimiter opens directly with File → Open.
  • Excel (Europe): choose the semicolon delimiter - many European locales use comma as the decimal separator, and Excel expects semicolon-separated files.
  • Google Sheets: File → Import → Upload, delimiter is auto-detected.
  • Non-ASCII characters (ą, é, ü, 中): if Excel garbles them, use Data → From Text/CSV and pick UTF-8 encoding.

Handling nested JSON

CSV is flat, so nested objects like {"user": {"name": "Alice"}} don't map directly to columns. The common approaches are flattening keys with a dot path (user.name) or serializing the nested part as a JSON string inside a single cell. If your data is deeply nested, flatten it first - a quick script or the JSON Formatter tool helps inspect the structure before converting.

Features

  • JSON array of objects → CSV
  • Delimiter options: comma, semicolon, tab
  • Optional header row
  • Download as .csv file
  • Proper CSV escaping for special characters

Frequently Asked Questions

What JSON format is supported?

The input must be a JSON array of flat objects, e.g. [{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]. All keys from all objects become CSV columns.

Can I change the delimiter?

Yes. Choose between comma (,), semicolon (;), or tab as the column delimiter. Semicolon is useful for European locales where comma is the decimal separator.

How are special characters handled?

Fields containing the delimiter, double quotes, or newlines are automatically wrapped in double quotes. Existing double quotes are escaped by doubling them.

You might also like