inyourbrowser.com

JSON to CSV Converter

Paste a JSON array of objects and get a formatted CSV with a header row. Download the result as a .csv file. Everything runs locally in your browser.

JSON Input
Output

CONVERT

Accepts a JSON array of objects. Columns are the union of all keys. Nested objects and arrays are written as JSON text.

Runs entirely in your browser

How it works

JSON.parse reads your input, which must be an array of objects. The columns are every key found in any object, in the order they first appear, so a key missing from the first object still gets its column. Each object becomes one row: a missing key leaves an empty cell, nested objects and arrays are written as JSON text, and any value containing a comma, a double quote, or a line break is wrapped in double quotes with internal quotes doubled, and rows are separated by line feeds.

Example

Columns come from every key; missing keys leave empty cells and arrays become JSON text:

[{"id":1,"name":"Ann"},{"id":2,"tags":["x","y"]}]
id,name,tags
1,Ann,
2,,"[""x"",""y""]"

Processing runs in your browser

All conversion happens inside your browser tab using JavaScript. Our servers are not involved at any point.

Technical specification

CSV quoting follows the conventions in RFC 4180 (IETF, 2005): a field that contains a comma, a double quote, or a line break is wrapped in double quotes, and a double quote inside it is written twice.

Standard
RFC 4180. Common Format and MIME Type for Comma-Separated Values (CSV) Files
Delimiter
Comma only
Output
JSON array of objects, or CSV with LF line endings
Download
converted.json or converted.csv

Related operations

After converting, pretty-print or minify the JSON output. If your data starts as YAML, turn it into JSON first. To drop repeated lines from an export before converting, remove duplicate lines; the first occurrence of each line is kept, so the header row stays on top, and matching ignores letter case, so rows that differ only in case count as duplicates.

Frequently asked questions

What JSON structure does this accept?
An array of objects: [{"a":1,"b":2},{"a":3,"b":4}]. The columns are every key found in any object. Nested objects and arrays are not flattened; they are written as JSON text in the cell.
Is my JSON data uploaded?
All conversion runs entirely in JavaScript inside your browser tab.
What happens to values with commas or quotes?
Values containing commas or quotes are automatically wrapped in double quotes and any internal quotes are escaped.
Can I download the output?
Yes. Click the Download button to save the result as a .csv file.

Last reviewed September 30, 2026

Other pages for this tool

Related tools

JSON formatter
Pretty-print, minify, validate, and sort JSON keys. Instant output.
YAML formatter
Format, validate, and convert YAML. Compatible with Kubernetes, CI configs, and OpenAPI files.
XML formatter
Pretty-print, minify, and validate XML. Uses the browser's native DOMParser.
Sort lines
Sort lines alphabetically, by length, or shuffle randomly. Remove duplicates and empty lines in one click.