Skip to content
← Back

JSON to CSV Converter - Online JSON to Excel

Data
Runs locally · Not uploaded

Online JSON to CSV converter: transform JSON arrays or objects into CSV format. Custom delimiter, headers, flatten nested objects. One-click CSV download.

Was this result helpful?

For local tools, open DevTools → Network and search your input — it should not appear in requests.

Next steps

Usage Guide

Turn a JSON payload — API responses, configs, logs — into headered CSV for Excel, BI tools, or legacy importers. Options cover nested flattening, delimiter choice, header toggles, and a default guard against spreadsheet formula injection on cells that start with =, +, -, or @. Conversion runs in the browser; paste size should stay within comfortable tab memory.

1. JSON to CSV in three steps

Aim for a table you can spot-check before dumping the entire dump. Nested arrays explode width if expanded blindly — stringify or normalize upstream when you need multiple columns per array item.

  1. Paste JSON and confirm the shape: array of objects is ideal; a single object becomes one row; arrays of primitives become index/value pairs.
  2. Enable flatten nested objects when you want address.city-style columns; leave it off to stringify objects/arrays into cells.
  3. Pick delimiter and headers, export ten rows for a smoke test, then copy or download the full CSV and open it as UTF-8.

2. Nesting, arrays, and large numbers

Tables are rectangles; JSON is a tree. Flattening joins keys with dots; without flattening, nested values become text cells. Large integers follow a lossless-oriented path so raw literals are preserved when possible, reducing JavaScript Number precision loss. Write the chosen flatten policy into your team notes so exports stay comparable week to week.

  • Expand arrays upstream if you truly need multiple columns.
  • Export identifiers as text-friendly values when Excel is next.
  • Do not flip flatten on and off from muscle memory — decide per schema.

3. Why the formula guard defaults on

Excel and WPS may execute cells that begin with =, +, -, or @. Untrusted CSV then becomes executable content. This tool prefixes a tab by default so those cells display as text. Disable the guard only when the data is trusted and a leading equals sign must survive for a deliberate spreadsheet formula workflow.

4. When not to use JSON→CSV

Irregular deep trees yield sparse wide tables. Relational multi-table data needs splitting or a database load. Tens of megabytes can freeze a tab — browser conversion is for medium debugging loads, not production ETL. Move heavy jobs to scripts or streaming tools.

  • Normalize deep trees before tabular export.
  • Split detail tables into separate files.
  • Use offline ETL for large archives.

5. Import checklist

Export success is not business readiness. Keep the original JSON until the importer accepts the file.

  1. Spot-check at least three data rows for nulls and header names.
  2. Verify long ID columns did not become scientific notation.
  3. Confirm delimiter versus locale (comma vs semicolon) so rows do not collapse into column A.

6. Related tools on this site

Format or sort JSON first when the payload is messy. Prefer JSON→Excel when colleagues need a workbook. Use CSV→JSON for the reverse hop, and CSV→SQL when the destination is a database draft. Keep the chain local and label each artifact with source endpoint and flatten settings.

7. Schema drift, quoting, and column stability

Object arrays whose keys appear only on some rows produce sparse columns when headers are unioned. Downstream SQL loaders may treat missing cells as null — confirm that matches your warehouse expectations. When an API adds a field mid-week, your CSV suddenly gains a column and shifts scripts that assumed positions instead of header names. Prefer header-based imports. If you must feed a system that wants a fixed column list, project the JSON first before export so the CSV shape stays stable. Document flatten depth: address.city is usually welcome; metadata.labels.0.name may be a smell that you should normalize arrays upstream. Fields containing the delimiter, quotes, or newlines must be quoted; this exporter follows that habit. If a downstream loader is quote-blind, pre-clean newlines or choose a rarer delimiter. Always open the CSV in a text editor when an importer fails on a late line number — the real break is often an earlier unclosed quote.

  • Import by header name, not by column index.
  • Project to a fixed key set when the consumer cannot tolerate drift.
  • Treat indexed array columns as a cue to normalize upstream.

FAQ

With flattening enabled, nested keys become column names joined by dots (for example user.address.city); array fields are stringified into the cell by default to avoid column explosion. If you need arrays as separate columns, expand them upstream first.

Yes. A single object is exported as one row, and an array of primitives (a list of IDs, say) becomes two columns: index and value. An array of objects is the cleanest input — one row per item with aligned fields.

That is the formula-injection protection, on by default: Excel and WPS treat cells starting with =, +, -, or @ as formulas, so untrusted CSV content could become executable. The tab prefix keeps them as plain text; only turn it off when the data is trusted and a leading equals sign must be preserved.

Spot-check at least three rows for how empty values look; verify long ID columns have not turned into scientific notation — export identifier-like fields as strings; and confirm the delimiter matches your regional settings, or a whole row may collapse into the first column.

Irregular deep trees produce sparse, column-heavy tables; multi-table relational data should be split or loaded into a database; files of tens of megabytes can freeze the tab. The browser suits small-to-medium debugging, not production ETL — use a script or a streaming tool for that.

Pasting, converting, and exporting all happen locally in your browser and nothing is sent to any server. If the response contains personal data, keep an eye on where the exported copy ends up and on screen sharing.

Related Tools

Related Articles