JSON to CSV Converter

JSON to CSV Converter

Paste a JSON array of objects — or an API response that holds one, or JSON Lines — and get a CSV file to open in Excel, Google Sheets or a database. Nested objects become columns such as address.city, long numbers keep every digit, and you see a preview of the table before you download. Nothing is uploaded.

DelimiterSemicolon suits Excel where decimals are written with a comma, as in most of Europe and Latin America.
ArraysFor ["book", "mug"]: ["book","mug"] in one cell, book, mug in one cell, or columns items.0 and items.1.
  • CSV

    id,customer.name,customer.city,total,paid,items,note 9007199254740993,Zoë Müller,São Paulo,1234.50,true,"[""book"",""mug""]", 9007199254740994,Renée O'Brien,Montréal,89.9,false,"[""pen""]","Leave it at the door, please"

Rows2
Columns7
InputArray inside an object
Rows taken from$.orders
File size (bytes)231

Numbers are copied digit for digit. The download starts with a UTF-8 byte order mark, so Excel shows accented letters correctly. Converted in your browser; nothing was uploaded.

Preview
idcustomer.namecustomer.citytotalpaiditemsnote
9007199254740993Zoë MüllerSão Paulo1234.50true["book","mug"]
9007199254740994Renée O'BrienMontréal89.9false["pen"]Leave it at the door, please

Calculated on your device · formulas checked against known results · How we test

How to convert JSON to CSV

  1. Paste your JSON: an array of objects, a single object, an API response that contains an array (such as {"data": [ … ]}), or JSON Lines with one object per line. It is converted as you paste.
  2. Choose the delimiter. Comma is the standard; choose semicolon if your Excel uses a comma as the decimal separator — in Germany, France, Spain, Italy, Brazil, Russia and most of Europe and Latin America.
  3. Choose how arrays are written: as JSON text in one cell, Joined with commas, or as Columns, one per item.
  4. Check the preview, then press Download for a .csv file, or Copy to paste the CSV somewhere else.

How the conversion works

CSV is a flat table, JSON a tree, so the converter flattens each record:

Arrays option{"tags": ["red", "blue"]} becomes
JSON texttags ⏎ "[""red"",""blue""]"
Joinedtags ⏎ "red, blue"
Columnstags.0,tags.1 ⏎ red,blue

JSON text keeps every detail and can be turned back into JSON later. Joined values read best in a spreadsheet. Columns suit short lists of the same length, and for arrays of objects gives columns such as items.0.sku.

Worked example

The sample in the box is an API-style response with 2 orders under orders. The converter finds them at $.orders and writes 7 columns:

id,customer.name,customer.city,total,paid,items,note
9007199254740993,Zoë Müller,São Paulo,1234.50,true,"[""book"",""mug""]",
9007199254740994,Renée O'Brien,Montréal,89.9,false,"[""pen""]","Leave it at the door, please"

Look at the details. The customer object became customer.name and customer.city. The first order has no note, so its last cell is empty. The note of the second order contains a comma, so it is quoted. And the IDs, 9007199254740993 and 9007199254740994, are exact: both are above 253, where JavaScript’s own JSON.parse rounds numbers, which is why many converters turn the first into …992. With the semicolon delimiter, the second line becomes:

9007199254740993;Zoë Müller;São Paulo;1234.50;true;"[""book"",""mug""]";

Opening the CSV in Excel

Limits and tips

Frequently asked questions

Is my data uploaded?

No. The conversion is done by JavaScript in your browser and the download is created on your device, so it works with private exports, customer lists and API keys inside JSON, and even offline once the page has loaded.

Why does Excel put everything in one column?

Your Excel expects semicolons. In regions that write decimals with a comma, Excel uses the semicolon as the list separator when it opens a CSV. Choose Semicolon as the delimiter, or open the file with Data › From Text/CSV and pick the comma.

Why do accented letters look wrong in Excel?

Excel guessed the wrong character set. Keep UTF-8 BOM switched on, download the file again and open the new one: the byte order mark tells Excel that the file is UTF-8.

How are nested JSON objects converted?

They are flattened into columns with dotted names: {"user": {"address": {"city": "Lima"}}} becomes a column user.address.city. Arrays follow the option you choose: JSON text in one cell, joined values, or one column per item.

Can it convert JSON Lines (NDJSON)?

Yes. Paste one JSON value per line, as log files and data exports often use; each line becomes a row, and the columns are combined across all lines.

Embed this calculator on your website

Free for any website or blog. Paste this code where you want the calculator to appear:

All free calculator widgets

Last updated: October 16, 2026

Menu

Categories

Finance Calculators30 calculatorsBusiness & Shopping Calculators9 calculatorsHealth & Fitness Calculators13 calculatorsMath & School Calculators23 calculatorsDate & Time Calculators19 calculatorsHoliday Countdowns17 calculatorsEveryday Tools47 calculatorsMic, Camera & Sound Tools10 calculatorsDeveloper Tools10 calculatorsImage & PDF Tools19 calculators

CalcWorthy

AboutContactPrivacy PolicyTerms of Use

Language

Language
EnglishEnglishالعربيةArabicবাংলাBanglaDeutschGermanEspañolSpanishفارسیPersianFrançaisFrenchעבריתHebrewहिन्दीHindiBahasa IndonesiaIndonesianItalianoItalian日本語Japanese한국어KoreanBahasa MelayuMalayNederlandsDutchPolskiPolishPortuguêsPortugueseРусскийRussianไทยThaiTürkçeTurkishУкраїнськаUkrainianاردوUrduTiếng ViệtVietnamese简体中文Simplified Chinese