JSON to CSV

Convert JSON to CSV online. Flatten nested objects with dot notation, choose delimiter. Download or copy. 100% client-side.

Related Tools

What This JSON to CSV Tool Offers

This free JSON to CSV converter runs in your browser. Paste or upload a JSON array of objects (or a single object), and get CSV with nested keys flattened using dot notation. Choose your delimiter, then download the CSV file or copy it to the clipboard.

  • Flatten nested objects: Nested keys become columns like address.city or user.profile.name. Arrays and dates are converted to strings.
  • Array of objects or single object: Feed a JSON array of objects (e.g. API response) or one object; both are converted to CSV with a header row from the keys.
  • Custom delimiter: Choose comma (default), semicolon, tab, or pipe so the CSV works in Excel, regional locales, or downstream tools.
  • Paste or upload: Paste JSON directly into the text area or upload a .json file via drag-and-drop or file picker.
  • Download and copy: Download the result as a .csv file or copy the CSV to the clipboard in one click.
  • Quoted fields: Values that contain the delimiter, quotes, or newlines are automatically quoted in the CSV output.
  • Client-side and private: Conversion happens in your browser; nothing is sent to a server.

Why Convert JSON to CSV?

CSV is widely supported by spreadsheets, databases, and ETL tools. Converting JSON to CSV lets you open API or app data in Excel, Google Sheets, or import it into other systems.

  • Spreadsheets: Open the CSV in Excel or Google Sheets for viewing, filtering, or sharing with others who don’t work with JSON.
  • Import and ETL: Many databases and data pipelines accept CSV. Flattened columns (e.g. user.name) keep structure in a single table.
  • No server: Conversion runs in your browser, so sensitive or large data never leaves your device.

How JSON to CSV Conversion Works

Your JSON is parsed and each object is flattened so nested keys become dot-separated column names. All unique keys across all objects form the header row; each object becomes one row, with missing keys left empty.

  • Parse JSON: The tool parses the pasted or uploaded JSON. A single object is treated as one row; an array of objects becomes one row per element.
  • Flatten: Nested objects are flattened with dot notation (e.g. {"a":{"b":1}} becomes column "a.b" with value 1). Arrays and Date objects are stringified.
  • Build CSV: The header row is the union of all keys (sorted for consistency). Each row is built from the flattened object; values that need quoting are quoted.
  • Download or copy: Download the CSV file or copy it to the clipboard. All processing is client-side.

Options Explained

These options control how the CSV is built.

  • Delimiter: Comma is the default and standard for CSV. Semicolon is common in European locales; tab produces TSV; pipe is often used in data pipelines. Choose what your target app expects.
  • Flattening: Nested objects are always flattened with dot notation. There is no option to keep nested structure; the result is a single flat table with one column per key path.

When to Use Each Delimiter

Match the delimiter to where the CSV will be used.

  • Comma (,): Default and most common. Use for generic CSV, imports, and most spreadsheets in English locales.
  • Semicolon (;): Common in European locales where comma is the decimal separator. Use when opening in Excel in such regions.
  • Tab (\\t): Use for tab-separated values (TSV) or when pasting into tools that expect tabs.
  • Pipe (|): Often used in data pipelines and ETL. Use when your downstream system expects pipe-delimited files.

Powered by browser APIs and client-side processing.

Frequently Asked Questions

What JSON format does the tool expect?

Paste or upload a JSON array of objects, e.g. [{"id":1,"name":"A"},{"id":2,"name":"B"}]. A single object is also accepted and converted to one row. Nested objects are flattened with dot notation (e.g. address.city).

What does “flatten” mean?

Nested objects are turned into flat keys with dots. For example {"user":{"name":"John"}} becomes a column "user.name" with value "John". Arrays and dates are stringified.

What delimiters are supported?

You can choose comma (default), semicolon, tab, or pipe. Comma is standard CSV; semicolon is common in European Excel; tab gives TSV; pipe is used in many data pipelines.

Is my data secure?

Yes. Conversion runs entirely in your browser. Your data never leaves your device and is not uploaded to any server.

Can I copy the CSV instead of downloading?

Yes. After converting, use the “Copy CSV” button to copy the result to your clipboard for pasting into Excel, Google Sheets, or another app.