Skip to content
Free data tool

JSON to CSV

This tool converts a JSON array of objects into CSV that you can open in a spreadsheet app. Each object becomes a row and each key becomes a column.

  • Runs in your browser
  • Free, no account needed
  • Copy or download the result
Private: runs on this device

Input

52 characters

Result

name,score
Ada,12
Lin,9

Example

Input
[{"name":"Ada","score":12},{"name":"Lin","score":9}]
Result
name,score
Ada,12
Lin,9

How to use the json to csv

  1. Paste a JSON array of objects into the JSON array of objects box.
  2. Set Output separator, Nested objects and arrays, and Null cells.
  3. Choose Spreadsheet formula handling, then press Run.
  4. Press Copy result, or Download to save the output as a text file.

How it works

Every key found in any object becomes a column. If an object lacks a key, that cell is left blank.

Nested objects and arrays are written as JSON text inside the cell by default. Choose Reject nested values to stop with an error instead.

Null cells can be written as the word null or left blank.

The formula option adds an apostrophe before text that starts with =, +, - or @, so a spreadsheet will not run it as a formula. Plain numbers like -5 are left alone.

The input must be a nonempty array that holds only objects, with 1 to 500 different keys in total.

Everything runs in your browser. Your input is not uploaded or stored.

Questions and answers

How do I convert JSON to CSV?

Paste a JSON array such as [{"name":"Ada"}], choose your options, and press Run. The first line of the result is the header row.

What happens to nested JSON?

With Write JSON inside the cell, a nested object or array is stored as JSON text in one cell. To see each nested value on its own line with its path, use the JSON flattener.

Why is there an apostrophe before some cells?

Text that starts with =, +, - or @ can run as a formula when opened in a spreadsheet. The apostrophe keeps it as plain text, and you can turn this off with Keep cell text exactly.

Is my data sent to a server?

No. Your JSON stays in your browser while it is converted.

All 100 SnowRock tools