InstantTools.org

Data & Spreadsheets

JSON to CSV

Flatten JSON payloads into spreadsheet-friendly CSV files.

Processing Mode

100% client-side via SheetJS, a pure JavaScript spreadsheet engine — no file chunks are ever uploaded.

Privacy & Speed

Zero latency from uploads. Nothing you drop or paste here is sent to a server.

Local Hardware

Runs directly in the browser's JavaScript engine — light enough that most conversions finish before a spinner would even show.


JSON can nest arbitrarily deep and describe records with completely different shapes side by side; CSV can only be a flat grid where every row shares the same columns. Converting from one to the other means solving two problems most naive tools get wrong: what column name does a nested field get, and what happens when records in the same array don't all have the same fields? For a broader comparison of when JSON vs. CSV vs. XML is the right format, see CSV vs JSON vs XML.

How nested objects get flattened

A nested object like {"contact": {"email": "x@example.com"}} becomes a column named contact.email using dot notation — this keeps the relationship between the parent and child field visible in the header itself, rather than picking an arbitrary flat name that loses that context. Arrays nested inside objects are handled by index (items.0.name, items.1.name), which works cleanly for small, fixed-size arrays but gets unwieldy for large or variable-length ones — if your data has that shape, you may get a more useful CSV by extracting the array as its own separate export.

Handling records with different fields

Real API responses are rarely perfectly uniform — one record has an email field, another doesn't. Rather than failing or dropping data, the converter computes the union of every key across every object in the array first, so no field is silently lost, and fills in blank cells for records missing that particular key. A single JSON object (not wrapped in an array) is treated as a one-row CSV rather than rejected.

Common uses

  • Handing a SaaS API export to a sales or finance team who only works in spreadsheets
  • Prepping a MongoDB or other NoSQL export for import into a system that requires CSV/relational input
  • Flattening JSON event logs from a web or mobile app for quick trend analysis
  • Turning example API responses into a readable table for documentation

FAQ

How are nested objects handled?

Dot notation: a contact.email field inside a nested contact object becomes a column literally named contact.email, preserving the parent-child relationship in the header.

What if some objects in my array are missing fields others have?

The converter computes the full set of keys across every object first, so every column that appears anywhere shows up in the output — records missing a given field just get a blank cell there, nothing is silently dropped.

Is there a size limit?

100MB on the free plan, 500MB on Premium — since conversion is entirely local, speed scales with your device's CPU rather than a server queue.

Does it accept non-standard JSON with comments or trailing commas?

No — input needs to be valid JSON per RFC 8259. If your source has comments or trailing commas, clean it with JSON Formatter first.

Access Related Data & Spreadsheets

Explore Other Toolkits