JSON to CSV Converter

Turn an array of flat JSON objects into quoted CSV.

Runs in your browser

Your input

0 / 100,000 characters

Your result

A little input. A useful result.

Run the tool to see your result here.

Your input stays on this device. No uploads, no account.
A LITTLE CONTEXT

About this json to csv converter

Turn an array of flat JSON objects into quoted CSV. Columns follow the first appearance of each key. Missing and null values become empty cells. All cells are quoted, double quotes are escaped, and rows use CRLF. Use this workspace to prepare a result you can review before putting it to use. All processing takes place on your device, without an account or an upload of your inputs. Check the examples to understand the expected output, read the limitations for the supported scope, and reset the form when you want to start a separate task.

How it works

Columns follow the first appearance of each key. Missing and null values become empty cells. All cells are quoted, double quotes are escaped, and rows use CRLF.

Try these examples

01

[{"a":1},{"a":2}]

"a"
"1"
"2"
02

[{"name":"Ada","note":"a,b"}]

"name","note"
"Ada","a,b"

Limitations & privacy

Use 1–1,000 flat objects with up to 100 distinct columns, 100,000 input characters and 1,000,000 output characters. Formula-like cells are prefixed with an apostrophe, including negative values. Nested data is rejected; JavaScript number precision applies.

Inputs and results stay in this browser. Only tool identifiers are stored for your recently used tools. You can clear that history from the directory.

A few good questions

How is the result produced?

Columns follow the first appearance of each key. Missing and null values become empty cells. All cells are quoted, double quotes are escaped, and rows use CRLF.

Are my inputs sent to a server?

No. Inputs and results are processed locally and are not uploaded or included in telemetry. Copying or downloading is your choice.

What are the limits of this tool?

Use 1–1,000 flat objects with up to 100 distinct columns, 100,000 input characters and 1,000,000 output characters. Formula-like cells are prefixed with an apostrophe, including negative values. Nested data is rejected; JavaScript number precision applies.

Updated September 19, 2026

Keep the momentum going.

All tools