← All JSON guides

JSON guide · 3 min read

How to Convert JSON to CSV Without Losing Data

Convert JSON records to CSV while handling nested values, uneven keys, arrays, quoting and spreadsheet type conversion safely.

By JSON HearthPublished 2026-08-05Updated 2026-08-22

Start with the JSON shape CSV handles best

CSV maps most naturally from an array of similarly shaped flat objects: object keys become columns and each object becomes one row. Nested objects, arrays and inconsistent keys require an explicit modeling decision because CSV has no native hierarchy.

JSON:
[{"name":"Asha","role":"Engineer"},{"name":"Mina","role":"Founder"}]

CSV:
name,role
Asha,Engineer
Mina,Founder

Build headers from all relevant records

A naive converter that derives columns only from the first record can silently lose fields appearing later. Scan the record set or use an explicit schema so that every intended column is represented.

Choose how nested objects become columns

A nested object can be flattened into path-like columns, serialized as JSON inside one cell, or moved into a separate related table. The right choice depends on the downstream consumer rather than on a universal conversion rule.

Source: {"user":{"name":"Asha","city":"Kolkata"}}

Flattened columns:
user.name,user.city
Asha,Kolkata

Treat arrays as a data-model decision

Arrays cannot be represented faithfully in one scalar CSV cell without choosing a convention. Joining values with commas can collide with the CSV delimiter and loses nested structure. One-to-many relationships are often clearer as separate rows or tables.

Quote CSV fields correctly

Fields containing the delimiter, quotes or line breaks need CSV quoting. Quotes inside a quoted field are normally doubled. Use a real CSV writer instead of joining strings when arbitrary user data is possible.

Protect identifiers from spreadsheet reinterpretation

Spreadsheet applications may convert values that look like dates, formulas or large numbers. Postal codes can lose leading zeros and long numeric identifiers can lose precision, so verify the imported spreadsheet when textual identity matters.

  • Keep IDs as strings when every digit matters.
  • Check leading zeros after import.
  • Treat formula-like cells carefully when exporting untrusted values.
  • Verify row and column counts after conversion.

Verify the result against the source

After converting with JSON to CSV, inspect edge-case rows and compare the record count with the source. If nested values were flattened, verify the important paths became the intended columns and that missing values use a consistent rule.

Common questions

Frequently asked questions

Can every JSON document be converted cleanly to CSV?

No. Deeply nested and heterogeneous JSON often needs a domain-specific tabular design rather than a generic one-click flattening rule.

Why are some CSV columns missing?

A converter may have derived headers only from early records. Scan all records or define the columns explicitly.

What should I do with arrays during JSON-to-CSV conversion?

Choose a documented convention. Small arrays can be serialized, while one-to-many relationships are often better represented separately.