Skip to content
Expensico

JSON to CSV Converter

Convert JSON arrays to CSV with nested objects flattened into columns like address.city. Handles mixed keys and Unicode, entirely in-browser.

Runs in your browser. Your files are processed on your device and are never uploaded.

How to use the JSON to CSV Converter

  1. Choose or drop your JSON file.
  2. Adjust the options if needed — the defaults work well for most files.
  3. Select Convert. Conversion happens instantly in your browser.
  4. Preview the result and download your CSV file.

About this JSON to CSV converter

Turn API responses and exported JSON into a CSV you can open in any spreadsheet. Objects become rows, keys become columns, and nested objects are flattened so nothing is lost.

How JSON to CSV conversion works

  1. Your JSON is parsed in the browser. An array of objects becomes rows; a single object becomes one row; if the object wraps an array (for example {"data": [...]}), that array is used.
  2. Nested objects are flattened into dot-notation columns such as customer.address.city.
  3. Columns are the union of keys across all rows, so records with missing fields still line up.

Conversion quality: Exact. Nested objects are flattened to dot-notation columns; arrays of values are joined.

When to convert JSON to CSV

  • Analysing API data in Excel or Google Sheets
  • Sharing database exports with non-technical colleagues

Limitations to be aware of

  • Arrays of objects inside a record are written as JSON text in a single cell.
  • Very deeply nested data produces many columns.

JSON vs CSV

JSON. JSON (JavaScript Object Notation) is the most common format for exchanging structured data between web services. It supports nested objects and arrays, strings, numbers, booleans and null.

CSV. CSV (comma-separated values) stores a table as plain text, one row per line. It is supported by almost every spreadsheet, database and programming language, but it has no formatting, formulas or multiple sheets.

Frequently asked questions

How are nested arrays handled?

Arrays of simple values are joined with “; ”. Arrays of objects are kept as compact JSON in one cell so no data is lost.

What if records have different keys?

All keys are collected; rows without a key get an empty cell in that column.

Are my files uploaded?

No. This tool reads and processes files directly in your web browser. Nothing is sent to Expensico's servers, and the data is discarded when you close or reload the page.