Utility

JSON to CSV Converter

Convert a JSON array into CSV with automatic column discovery, dot notation flattening for nested objects, configurable delimiters and Excel safe quoting.

Last reviewed by the Radiatus Cloud team

Need this done properly for your business?

Radiatus delivers secure cloud, DevOps & compliance engineering.

Book a free consult

Getting JSON into a spreadsheet

API responses arrive as JSON and analysis happens in a spreadsheet, so the conversion between them is one of the most frequently repeated tasks in any data job. It looks trivial until the data has structure: records with different keys, nested objects, arrays of tags, null values that should be blank rather than the literal word null, and strings containing the delimiter.

Flattening is a choice, not a detail

A nested object has no natural CSV representation, so something has to give. Flattening with dot notation turns a nested address object into address.city and address.postcode columns, which preserves every value and keeps the header self describing. Arrays are different: a list of tags can either be joined into one cell or expanded into numbered columns, and which is right depends on whether you plan to filter on individual values. Both options are here because neither is universally correct.

Quoting is where files break

A cell containing a comma, a quote mark or a newline must be quoted, and a quote inside a quoted cell must be doubled. Getting this wrong produces a file that opens with the columns shifted from one row onward, which is easy to miss and hard to trace back. The converter follows RFC 4180 quoting, and offers a UTF-8 byte order mark for Excel, which otherwise misreads accented characters in an imported file.

Related tools

  • User Agent Parser — Parse a User-Agent string into browser, engine, operating system and device. Explains why UA strings are unreliable and what to use instead.
  • QR Code Generator — Generate QR codes for URLs, text, Wi-Fi and contact details. Adjustable error correction and size, produced entirely in your browser.
  • Credit Card Validator — Validate a card number with the Luhn algorithm and identify the issuing network from its prefix. Runs locally, nothing is transmitted.
  • Text Case Converter — Convert text between camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case and sentence case. Runs entirely in your browser.

Frequently Asked Questions

How are nested objects handled?

They are flattened with dot notation, so a nested object under "address" becomes address.city, address.postcode and so on. Every leaf value gets its own column and nothing is lost.

What happens to arrays inside a record?

You choose: join the values into a single cell with a separator, or expand them into numbered columns such as tags.0 and tags.1. Joining keeps the file narrow; expanding lets a spreadsheet filter on individual values.

Why do I need a byte order mark for Excel?

Excel assumes the local code page when opening a CSV by double click, so UTF-8 accented characters and emoji appear as mojibake. A leading byte order mark tells it the file is UTF-8. Other tools ignore it.

What if my records have different keys?

Every key seen in any record becomes a column, and records missing that key get an empty cell. The tool reports how many columns came from only some of the records, which usually reveals an inconsistent API.

Are nulls written as empty or as the word null?

Empty by default, which is what a spreadsheet expects. You can switch to writing the literal text if you need to distinguish an explicit null from a missing key.

Privacy & Security

Everything runs in your browser; nothing is uploaded.

Data: None
Client-side-Side
Active
v1.0

How to Use

Paste a JSON array of objects and copy or download the CSV it produces.

Disclaimer: This tool is provided "as is" without warranty of any kind. Results are for educational and utility purposes.