JSON to CSV converter

Turn JSON records into rows and columns.
Preview your data, then download the CSV.

Conversion options

Up to 1 MiB. Ctrl+Enter or Cmd+Enter to convert.

CSV preview

Your rows appear here after conversion.

From an API response
to a spreadsheet.

This JSON to CSV converter turns an array of objects into a table: object keys become column names, and each object becomes a row. Paste JSON, open a file, or start with the example. Click Convert to CSV, check the preview, and choose Download CSV.

Different keys, one complete header

The converter collects keys from all records in the order they first appear. A missing field or a null value produces an empty cell. Strings, numbers, and booleans become cell values; quotes, separators, and line breaks inside strings are escaped for CSV. It keeps the original text of JSON numbers, including large integers and exponent notation.

Nested JSON and arrays

With Flatten nested objects selected, a value such as location.city becomes a column with that name. Arrays inside a record stay as compact JSON in a cell. Turn flattening off to keep a nested object in one cell too. If two fields would produce the same column name, conversion stops so you can choose how to handle them.

For a response wrapped in an object, enter the path to its records in Array path, such as data.items. Each path segment is an exact object key separated by a dot. An array of simple values creates one value column; a single object creates one row.

A CSV you can
actually use.

Choose the right separator

Comma is the default CSV separator. Choose semicolon if your spreadsheet expects it, or tab for tab-separated data. Downloads use UTF-8 with a byte-order mark to help spreadsheet apps recognize accented letters and other characters. The preview shows the first ten rows; downloads include all converted rows.

Import identifiers as text

A CSV does not declare column types. Excel or another spreadsheet may interpret a long ID as a number, remove leading zeros, or treat a value as a date. Use the spreadsheet’s import dialog and select text for those columns when exact values matter.

Formula-like values

By default, values that resemble spreadsheet formulas receive a leading apostrophe in the export. The status tells you when this happens. Ordinary numeric values keep their numeric text. If you need the original strings for a program, turn this option off and convert again. Spreadsheet apps handle CSV differently, so this option does not guarantee how every app will interpret a cell.

Clear limits and private conversion

Your JSON is not uploaded. Conversion accepts up to 1 MiB of input, 10,000 records, 200 columns, and about four million output characters. Invalid JSON, repeated object keys, and empty record sets show an error instead of a partial download.

See RFC 4180 for the common CSV format.

Good questions.
Straight answers.

Can I convert JSON to CSV for Excel?

Yes. Download the CSV, then open it in Excel or use its text import option. Choose the matching separator and import long identifiers as text to prevent automatic number formatting.

Can I convert a JSON file?

Choose Open file, select your .json file, and the tool converts it with your current options. The file must be smaller than 1 MiB.

How are nested objects converted?

Flattening joins nested keys with dots, such as address.city. Turn flattening off to keep each nested object as JSON in a single cell. Nested arrays remain JSON in a cell in either mode.

Why does an API response need an array path?

Some responses put records inside an object, for example {"data":{"items":[...]}}. Enter data.items to select that array. Leave the path blank when your JSON already starts with the array you want.

Is this JSON to CSV converter free?

Yes. Conversion, preview, copying, and downloading are free, with no account required. Your working data clears when you reload this page.

Format JSON Compare textAll tools