FormatFlow

No tool matches “”

Try a format (“webp”, “mp3”) or a verb (“merge”, “compress”).

Loading index

↵to open

Developer Tools · Updated October 20, 2026

Convert JSON to CSV

You can convert a JSON array of objects into CSV in your browser: nested keys are flattened with dot notation, the columns of every object are merged, and the result can be previewed, copied or downloaded.

Runs in your browserFree · No sign-up · No watermark
JSON → CSVRuns in your browser
Loading the tool…

Everything runs locally in this tab. No file is uploaded while the tool loads.

This tool runs in your tab. Nothing is uploaded and no copy is stored.

How files are handled

At a glance

Works with
JSON → CSV
Processing
In your browser
Price
Free, no account
Updated
October 20, 2026
All Developer Tools

About JSON to CSV

APIs return JSON and import screens expect rows and columns, so the conversion comes up constantly. Doing it by hand is slow and easy to get wrong: objects in the same array can have different keys, nested objects do not map to a single cell, and a value that contains a comma, a quote or a line break will break the file unless it is escaped.

This converter takes an array of objects, or an object that wraps the array under a key such as data, items or results. It flattens nested objects into dotted column names, builds the union of all keys, escapes every field for RFC 4180 and shows a preview table. Copy the CSV text or download a .csv file; everything is processed in the tab.

What this tool does

The details that matter when you use JSON to CSV for real work.
  • Array or wrapped array

    Paste a top-level array, or an object whose array sits under data, items, rows, results, records, list, values or entries; the key that was used is named in the preview.

  • Dot-notation flattening

    A nested object such as user with a name property becomes a user.name column, while nested arrays are written as compact JSON in a single cell.

  • Union of every column

    Objects with different keys share one header row, and a property that is missing from one object becomes an empty cell instead of shifting the data.

  • RFC 4180 escaping

    Fields containing commas, quotes or line breaks are wrapped in double quotes and inner quotes are doubled, with CRLF between records.

  • Preview before download

    The first ten rows appear in a table with the full column list, so a wrong shape or a badly flattened key is visible before you save the file.

  • Copy and download

    Copy the CSV text to the clipboard or download a .csv file under a name you choose; numbers keep their original digits and accents stay intact.

How to use JSON to CSV

No account, no installation — the whole job happens in this browser tab.
  1. 01

    Paste the JSON

    Paste an array of objects, or an object that contains the array under a key such as data, items or results.

  2. 02

    Press Convert

    The converter validates the JSON, reports syntax errors by line and column, then flattens every object into cells.

  3. 03

    Check the preview

    Look at the column headers and first rows; dotted names come from nested objects and empty cells mean the key is missing from that object.

  4. 04

    Name the file and download

    Type a name for the .csv file and press Download, or use Copy CSV to paste the text into a spreadsheet or editor.

How this tool works

Works with
JSON → CSV
Processing
Client-side, in your browser. Nothing is uploaded.
Requirements
Chrome, Edge, Firefox or Safari · JavaScript enabled

Limitations worth knowing

  • Comma-delimited only: there is no semicolon or tab option, so some spreadsheet locales need to import the file with a comma delimiter.
  • Arrays of objects inside a record are written as JSON text in one cell instead of being expanded into extra rows.
  • Limits: 5 MB of JSON, 50,000 rows and 1,000 columns, because the whole result is held in the tab's memory.
  • A key that already contains a dot is flattened the same way as nesting, so the header can be ambiguous for unusual data.

Privacy and file handling

The JSON is parsed and converted to CSV inside this browser tab. Nothing is uploaded, stored or logged, and the download is created locally from a Blob. Closing the page discards the input and the result.

Read the full privacy policy

JSON to CSV FAQ

Short, direct answers to the questions people ask before using this tool.
What JSON shapes can this converter read?
It reads a top-level array of objects, or an object that contains the array under a key such as data, items, rows, results, records, list, values or entries. Each element must be a JSON object, not a string, number or null.
How are nested objects turned into CSV columns?
A nested object is flattened with dots: an object user with a name property becomes a user.name column. This repeats at every depth, so each header describes the full path to a leaf value.
How does the converter handle arrays inside an object?
Arrays stay in a single cell and are written as compact JSON, so an array of tags becomes text such as ["math","writing"]. Getting one row per array item would need a different export shape.
How are commas, quotes and line breaks escaped?
Escaping follows RFC 4180: a field containing a comma, a double quote, a carriage return or a new line is wrapped in double quotes, and every double quote inside it is written twice. Records are separated by CRLF.
What happens when objects have different keys?
The header is the union of all keys in first-seen order. An object that lacks a key gets an empty cell in that column, so no values shift between columns.
Why does Excel show my CSV in one column?
Excel uses the list separator from the Windows regional settings, which is a semicolon in many locales. Use Data > From Text/CSV and choose comma as the delimiter, or import the file instead of double-clicking it.
Is there a size limit for the conversion?
The input can be up to 5 MB and the output up to 50,000 rows and 1,000 columns. Larger exports are better handled by a command-line tool such as jq or a small script, because the browser tab has to hold everything in memory.
Does the converter upload my JSON?
No. Parsing, flattening and CSV generation all run in this browser tab, and the download is created locally from a Blob. Nothing is sent to FormatFlow or any third party.
How are numbers and null values written to the CSV?
Numbers keep the exact digits from the JSON source, so a long database ID is not rounded. JSON null becomes an empty cell, and true or false stay as the text true and false.

Background reading

Format guides that explain the trade-offs behind JSON to CSV.