ToolLaunchpad
Converters

JSON to CSV Converter

Turn an array of JSON objects into a spreadsheet-ready CSV file, or turn CSV rows back into JSON. Nested objects become dot-notation columns and every field is quoted the way RFC 4180 expects.

JSON to CSV ConverterRuns in your browserCtrl+Enter runs
Direction

Runs entirely in your browser. Nothing you enter is uploaded or stored.

How to use the JSON to CSV converter

  1. Choose the direction: JSON to CSV or CSV to JSON.
  2. Paste your data into the input box. The result updates as you type; Convert runs it again on demand.
  3. Pick a delimiter. Comma is the standard, semicolon is common in European versions of Excel, and tab gives TSV. For CSV input, Auto-detect looks at the first line and picks the most frequent separator.
  4. Copy the result or download it as data.csv or data.json. Tick UTF-8 BOM for Excel if accented characters show up garbled when you open the file in Excel.

Everything runs locally in your browser. The data is never uploaded, so you can safely convert exports that contain customer records or internal figures.

Worked example

This JSON array has a nested object, an array, a comma inside a value and a missing field:

[
  {"id": 1, "name": "Smith, Jane", "address": {"city": "Berlin"}, "tags": ["a", "b"]},
  {"id": 2, "name": "Ada", "note": "Said \"hi\""}
]

With comma as delimiter and a header row, the converter produces:

id,name,address.city,tags,note
1,"Smith, Jane",Berlin,"[""a"",""b""]",
2,Ada,,,"Said ""hi"""

The header is the union of all keys in the order they first appear. Rows without a key get an empty cell, the nested address object becomes the column address.city, and the array is kept as JSON text so no information is lost.

How the conversion works

CSV has no official types or nesting, only rows of text fields. The rules from RFC 4180 used here are simple: a field that contains the delimiter, a double quote or a line break is wrapped in double quotes, and every quote inside it is doubled. Fields without special characters are written as they are. Downloaded CSV files use CRLF line endings, as the RFC recommends.

In the other direction, the parser reads quoted fields character by character, so commas and line breaks inside quotes stay part of the value. The first row becomes the object keys; duplicate or empty header names get a suffix such as column_3. With Detect numbers and booleans on, 42 and 3.5 become numbers and true/false become booleans, while values with leading zeros like 007 stay strings so postcodes and IDs keep their format. Nest dot keys rebuilds address.city into a nested object, which makes a JSON to CSV to JSON round trip possible. If you want to tidy the JSON first, use the JSON formatter.

Common mistakes

  • Pasting an object instead of an array – an API response like {"data": [...]} is one object. Paste just the inner array, otherwise you get a single row.
  • Wrong delimiter in Excel – if every row lands in column A, Excel expected a semicolon. Switch the delimiter and download again.
  • Unclosed quotes – one stray " at the start of a CSV field makes the rest of the file part of that field. The error message names the line where the quote opened.
  • Losing leading zeros – spreadsheets turn 00123 into 123 when opening a CSV. Import the column as text instead of double-clicking the file.
  • Mixed item types – an array that mixes objects with plain numbers or nested arrays cannot form a table. The converter tells you which item is the problem.

Frequently asked questions

Is my data uploaded when I convert JSON to CSV?

No. Parsing and conversion run in JavaScript on your device. Nothing you paste is sent to a server, so it is safe for private exports.

How are nested objects and arrays handled?

Nested objects are flattened into dot-notation columns such as address.city. Arrays are written as JSON text in a single cell, so you can restore them later without losing data.

Why does Excel put everything into one column?

Excel uses the list separator of your region. In many European locales that is a semicolon. Choose Semicolon as the delimiter and download the file again.

Which delimiters are supported?

Comma, semicolon, tab and pipe. When converting CSV to JSON you can also let the tool auto-detect the delimiter from the first line.

Can I convert CSV without a header row?

Yes. Untick First row is header and every row becomes a JSON array of values instead of an object with named keys.

Are numbers kept as numbers?

In CSV to JSON mode, numbers and true/false values are detected by default. Values with leading zeros stay text. Untick the option to keep every value as a string.

More free Launchpad tools