Nested JSON to CSV without silent number rounding

JSON to CSV Converter for Nested Data and Long IDs

Convert JSON to CSV locally with record-path selection, explicit array handling, duplicate-key checks, lossless long integers, and spreadsheet formula protection before download.

Runs locally No account Free first release
Start with the example
Local browser processingYour file contents are not uploaded.
10 MB · 50,000 row limit

Conversion workbench

Inspect first. Export second.

Source structure, quality findings, and every deliberate transformation stay visible before download.

1

Source data

Paste JSON or upload a JSON file

or drop it here
394 B in this browser
2

Structure choices

Nothing ambiguous is hidden behind “auto.”

Blank CSV field boundaryJSON null, a missing property, and an empty string remain distinct in the preview, but CSV exports all three as a blank field.

CSV export settings

3

Preview and quality report

Analyze the sample or your own data to continue.

Your source data is still only in this browser.

Analysis creates a table preview, a ranked issue list, and an exact transformation summary.

Private by design

Source bytes remain in this browser tab.

Reviewable

Preview values and risks before export.

Traceable

Download a JSON conversion report.

What the converter checks

Quality findings belong beside the output

A successful parse is not proof that the result kept the source meaning. These checks surface the places where tabular conversion can change or hide data.

01

Record-path selection

Candidate arrays are listed so you decide which JSON objects should become CSV rows.

02

Lossless numeric parsing

Long JSON integer text is retained exactly instead of being rounded by native number parsing.

03

Explicit array handling

Keep arrays as JSON, join scalar arrays, or expand one selected array—never an implicit multi-array Cartesian product.

04

Duplicate-key and formula checks

Duplicate JSON object keys block export, while formula-like CSV values are counted and escaped by default.

Preservation rules

Know what happens to difficult values

The tool records deliberate changes and keeps ambiguous structures visible rather than silently normalizing them.

Read the full check definitions →
Source featureConverter behavior
Long integer IDs

Every source digit is retained in the CSV text; no JavaScript number rounding is introduced.

Nested objects

Flattened into escaped path columns such as profile.name.

Nested arrays

Stored as JSON text by default; at most one chosen array can be expanded into rows.

Formula-like strings

Escaped by default for safer spreadsheet opening, with every changed cell reported.

Null, missing, and empty strings

Distinct in the preview, but all become blank CSV fields because CSV has no native null or missing-value type.

A short, inspectable workflow

From source to checked CSV

  1. 1

    Add the JSON

    Paste a document or choose a local JSON file. Parsing stays inside this browser tab.

  2. 2

    Choose rows and arrays

    Confirm the record path and how any nested array should be represented.

  3. 3

    Inspect and download CSV

    Review long IDs, blank-value semantics, formula risks, and transformations before export.

A concrete failure mode

Why a successful JSON parse is not enough for CSV

A 19-digit ID can be rounded before export, two nested arrays can multiply rows, and null, a missing property, and an empty string all collapse to a blank CSV field. The preview makes those boundaries visible before download.

Inspect the included example