ZapKit

JSON ↔ CSV Converter

Turn a JSON array into a CSV for Excel or Google Sheets, or a CSV into JSON for code, with quoting and nested fields handled properly.

What is a JSON to CSV converter?

JSON is how APIs and modern apps exchange data; CSV is what spreadsheets, databases and business tools import. A converter moves data between the two without writing a script, for example to open an API export in Excel, or to turn a spreadsheet into JSON fixtures for an app.

This converter handles the awkward parts: objects with different keys, nested objects, commas and quotes inside values, multi-line text, and three delimiters. CSV to JSON can detect numbers and booleans or keep everything as text. Data never leaves your browser.

How to use the JSON ↔ CSV Converter

  1. 1.Pick a direction

    JSON to CSV, or CSV to JSON.

  2. 2.Paste the data

    Choose comma, semicolon or tab, and whether to flatten nested objects or detect types.

  3. 3.Download

    Copy the result or download it as a .csv or .json file.

Example: two people with nested skills

The sample JSON array, converted with flattening on:

Header row
id,name,city,skills.primary
Row 1
1,Asha,Pune,React
Row 2
2,"Ravi, Jr.",Delhi,Go

"Ravi, Jr." is quoted because it contains a comma, so it stays in one column.

How the conversion works

JSON to CSV uses every key found in any object as a column, so objects with different fields still line up. Nested objects become dotted columns such as skills.primary, and arrays are written as JSON text inside the cell. Values with commas, quotes or line breaks are quoted the RFC 4180 way.

CSV to JSON takes the first row as the field names. With type detection on, numbers, true/false and empty cells become numbers, booleans and null; otherwise every value stays a string, which is safer for codes like PIN codes with leading zeros.

Frequently asked questions

How are nested objects handled?

With flattening on, { "user": { "name": "A" } } becomes a column called user.name. With it off, the whole object goes in one cell as JSON.

Why use semicolons?

Excel in many European locales expects semicolons, because the comma is the decimal separator there.

Will leading zeros survive?

Turn off type detection when converting CSV to JSON, so values like 007 stay strings.

Does it work with quoted commas and line breaks?

Yes, both directions follow RFC 4180 quoting.

More Developer tools