Online JSON to CSV converter: transform JSON arrays or objects into CSV format. Custom delimiter, headers, flatten nested objects. One-click CSV download.
TL;DR: Free online JSON and CSV converter with automatic nested object flattening and type inference. Easy Excel import, runs locally in your browser.
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.
- Paste JSON and confirm the shape: array of objects is ideal; a single object becomes one row; arrays of primitives become index/value pairs.
- Enable flatten nested objects when you want address.city-style columns; leave it off to stringify objects/arrays into cells.
- 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.
- Spot-check at least three data rows for nulls and header names.
- Verify long ID columns did not become scientific notation.
- 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
Online CSV/JSON Converter: Convert Between Table Data Formats
CSV ↔ JSON with RFC 4180 quoting, Excel dialects, BOM handling, and this site's real boundaries. Links to SQL, YAML, and TSV workflows.
Online JSON/CSV Converter: Convert Between JSON and Table Formats
JSON arrays to CSV: nested flatten, delimiter and header options, array-field boundaries, and how this page differs from the bidirectional CSV/JSON tool.
The Complete Guide to Table Format Conversion: Excel, CSV, JSON, Markdown, and HTML
Convert between Excel, CSV, JSON, Markdown, and HTML tables — delimiters, headers, empty cells, merged-cell boundaries, and matching browser tools.