Toollet
Search by task or app nameSearchContact us
Pricing

Convert JSON to CSV

Paste JSON or load it from a file to convert an object or an array of objects into CSV for a spreadsheet. Check the rows, columns, and values, then copy the CSV or save it as a UTF-8 CSV file with a BOM.

You can drop one JSON file. UTF-8, up to 1 MB.

Advanced settingsComma · Formula protection ON

Add an apostrophe to strings beginning with =, +, -, @, and similar characters. Turn OFF only when you need the original strings.

Enter JSON to convert it.

CSV result

Enter JSON and convert it to check the rows and columns.

What you can do

Turn a JSON list into table data

Convert an array of objects into CSV with 1 row per object. A single object can also be converted into 1 row.

Align field names as columns

Columns are created in the order field names first appear. Fields missing from a row and null values become blank cells.

Copy or save for a spreadsheet

Copy the CSV or save a UTF-8 file with a BOM. Choose a comma, semicolon or tab as the delimiter.

How to use

  1. Enter JSON

    Paste JSON or open a file. You can also try conversion using Fill with sample.

  2. Convert to CSV

    Usually, you can use the default settings. Open advanced settings to change the delimiter or how formula-like strings are handled.

  3. Review and obtain the table

    Check the rows, columns and values, then copy or save the CSV. Open the source text view to inspect CSV quotation marks and other details.

Useful when

Review a JSON list in a spreadsheet

Use this when you want to sort or review data received as JSON, such as a product list, in spreadsheet software.

Hand over data as a table

Use this when you want to deliver a JSON array of objects in a form that software supporting CSV can import.

How JSON becomes CSV rows and columns

Field names become columns; objects become rows

Each object in the array is treated as 1 row. Field names are collected from all rows, and columns are arranged in the order they first appear in the input.

Handling missing values and nesting

Missing fields and null are blank. Nested arrays and objects remain as JSON in a single cell and are not expanded into separate columns.

Delimiters and quotation marks

All fields are enclosed in double quotes, and quotation marks within cells are doubled. Line breaks within values are preserved, and CSV lines end with CRLF.

Frequently asked questions

Do nested objects become separate columns?

No. Nested objects and arrays remain as their original JSON in a single cell. This feature does not automatically expand deep hierarchies into columns.

What if field names differ between rows?

Field names used across all rows become columns. Missing fields and null are blank in that row. Columns appear in the order their field names first occur.

What does protecting formula-like strings mean?

An apostrophe is added before strings starting with =, +, -, @ or similar characters to prevent spreadsheets from interpreting them as formulas. Turn this OFF in advanced settings only when you need the original strings.

Will large integer values change?

The original number representation is preserved during conversion. However, the spreadsheet software you import into may round numbers. Specify columns containing numbers or IDs as text in the importing software.

Input and results

Input
1 UTF-8 JSON input. Up to 1 MB (1,000,000 bytes) for both pasted text and files.
Conversion
An object with fields, or an array containing 1 or more objects. Output is limited to 100,000 cells.
Output
CSV with column names. Copy provides the CSV text; files are saved in UTF-8 with a BOM.

Current settings

Search tools