Skip to content
Conversion Hub

json → csv

Convert JSON to CSV Online

Turn JSON into a spreadsheet-ready CSV, with headers detected automatically.

  • No uploads, ever
  • Converts in milliseconds
  • Works offline
  • Batch support

Most tools that read JSON want CSV, and most spreadsheet tools want CSV. This converter does the translation instantly in your browser, with a live editor so you can paste JSON on the left and copy clean CSV on the right. The header row is built from the union of every key in your data, so records with differing fields are handled without silently dropping columns.

100% client-side — your files never leave your device

Conversion runs locally in your browser using Canvas and WebAssembly. There is no upload step, no server processing and no file storage. Disconnect from the internet and this page still works.

Loading converter…

Step by step

How to convert JSON to CSV online

  1. Add your .json file

    Drag and drop your file into the box above, or click it to browse your device. Add several at once and they convert together as a batch.

  2. Choose your output settings

    Everything is configured automatically — the default settings produce an optimal .csv for almost every use.

  3. Download the .csv

    Click Download to save the result straight to your device. The whole process took a fraction of a second because nothing was uploaded or downloaded.

Side by side

JSON vs CSV

Here is how the two formats differ. Use it to decide whether converting is worth it, and which one to pick if you have a choice.

Comparison of JSON (JavaScript Object Notation) and CSV (Comma-Separated Values)
AttributeJSON.jsonCSV.csv
Full nameJSON (JavaScript Object Notation)CSV (Comma-Separated Values)
CompressionText-basedText-based
TransparencyNoNo
Browser supportUniversalUniversal
File sizeTextText
Best forAPIs, configs and web appsExcel, Sheets and databases

The guide

Getting the most out of JSON to CSV conversion

What JSON shapes are supported

Three common shapes are handled. An array of flat objects — by far the most common API response — becomes one CSV row per object. An array of arrays becomes a grid where the first row is used as the header when it contains no repeated values, otherwise generic column names are generated. A single top-level object is treated as a one-row table, which is convenient for small config exports.

How nested objects are represented

CSV has no concept of nesting, so an object or array value is serialised as compact JSON inside its cell, with quotes doubled per the CSV specification. So `{"user": {"name": "Ada", "id": 7}}` produces the cell `"{""name"":""Ada"",""id"":7}"`. This is lossless — you can parse the cell back into a nested object — but if you want separate columns, flatten the JSON before converting, or build the nested shape after the round trip.

Why the column order can change

The header row is the union of all keys in the array, in the order they are first encountered. That guarantees no data is lost when some records have extra fields, but it means column order reflects the first occurrence of each key rather than alphabetical order. If you need a fixed schema, make sure the first record contains every key you intend to use.

Common questions

Frequently asked questions

Everything about how this converter handles your files, and how to get the best result.

How do I convert an array of arrays to CSV?
Paste an array of arrays such as [[1,2],[3,4]] and it converts directly to a two-column grid. If the first row looks like data rather than a header, generic column names are generated instead.
How are nested objects handled?
Each nested value becomes a compact JSON string inside its own cell, with internal quotes escaped per the CSV specification. No information is lost, but the cell needs parsing if you want the nested object back.
Can I open the result directly in Excel?
Yes. Save the .csv file and open it in Excel, Numbers or Google Sheets. If characters look wrong in Excel, import with UTF-8 encoding, which handles accented characters and emoji correctly.
Is my JSON data uploaded?
No. Parsing and serialisation both happen in your browser tab. You can work fully offline, which is why this is safe for API responses containing credentials or personal data.