CONVERT · ENTIRELY IN YOUR BROWSER

JSON to CSV

Move an array of JSON objects into a spreadsheet with consistent columns, properly escaped values, and optional nested-key flattening.

JSON to CSV workspace

LOCAL WORKSPACE
Convert / JSON to CSVA fresh start for your data.
JSON
CSVAwaiting input
A clean slate awaits

Your converted data will appear here.

Conversion options Fine-tune your output
Processed locally in your browser.

A PRACTICAL EXAMPLE

See the transformation.

Input

[
  {"name": "Alex Morgan", "role": "Designer", "city": "London"},
  {"name": "Sam Rivera", "role": "Developer", "city": "New York"},
  {"name": "Jamie Chen", "role": "Analyst", "city": "Singapore"}
]

Output

name,role,city
Alex Morgan,Designer,London
Sam Rivera,Developer,New York
Jamie Chen,Analyst,Singapore

How to use JSON to CSV

  1. Paste a JSON array of objects or open a .json file.
  2. Choose your CSV delimiter. Enable flattening if your records contain nested objects.
  3. Convert, check the preview, then copy or download converted.csv.

Convert nested JSON into spreadsheet columns

Enable Flatten nested keys for records containing objects. A nested customer.city property becomes one column; an array stays in a single cell rather than creating extra rows. This example uses comma-separated output with flattening enabled.

Input

[{"id":"00123","customer":{"city":"Leeds"},"tags":["new","web"]}]

Output

id,customer.city,tags
00123,Leeds,"[""new"",""web""]"

Common problems and how to fix them

My API response contains a records property

Paste the array inside that property, not the entire response wrapper. Each array item must be an object. A single object must be wrapped in an array before conversion.

The spreadsheet puts everything in one column

Choose the same delimiter in the converter and the spreadsheet import dialog. Import identifier columns as text to keep leading zeroes; CSV itself cannot tell a spreadsheet which cell type to use.

A cell starts with an extra apostrophe

Spreadsheet formula protection prefixes potentially executable cells. Keep it enabled for untrusted data. Disable it only when you understand how the destination will handle formulas.

Limitations and supported input

Requires an array of objects. Missing fields become empty cells; null becomes an empty cell. Flattening uses dot-separated keys and serializes arrays as JSON strings. Conflicting flattened paths are rejected. Spreadsheet formula protection is enabled by default and prefixes dangerous cells with an apostrophe.

Files must be UTF-8 text and no larger than 10 MiB. Very deep or complex documents may exceed the 15-second processing limit. JSON numbers use JavaScript precision; keep long identifiers as strings.

Your data stays on your device

All parsing and conversion happens in a local browser worker. Your input is not sent to a server or saved in browser storage. Closing or reloading the page clears this workspace. Read our privacy explanation.

GOOD TO KNOW

A little clarity.

Simple tools. Straight answers.

Can I convert nested JSON?

Enable “Flatten nested keys” to turn nested objects into dot-separated columns. Arrays remain JSON strings in one cell.

What if records have different fields?

The output includes the union of all field names, in first-seen order. Missing values become empty cells.

KEEP THINGS MOVING

Useful next steps.

Find your next tool

ALL TOOLS

{ }JSON to CSVTurn JSON records into spreadsheet-ready rows.CSV to JSONTransform spreadsheet rows into clean JSON.YAML to JSONMake YAML configuration ready for JSON.JSON to YAMLTurn JSON into readable YAML configuration.{ }JSON FormatterPretty-print or minify JSON in one click.JSON ValidatorFind syntax errors with a clear location.CSV CleanerTrim whitespace, remove duplicates, tidy rows.

Privacy Settings

Optional measurement is off until you choose it. Pasted data, file contents, output, and search text are never included in our analytics events.

Read the privacy policy