Contact

Tools  /  JSON  /  JSON → CSV

JSON → CSV

Convert a JSON array of objects into CSV -- union of keys across all objects (not just the first), nested-object flattening, array flatten/join/JSON modes, delimiter choice, quote-all, Excel-friendly line endings and BOM, and a preview table.

What this tool does

Paste a JSON array of objects and get back CSV, with a visual table preview so the result can be checked before it is copied or downloaded — not just trusted from the raw text.

The column-dropping bug most converters have

A common shortcut for building CSV columns is reading the keys of the first object in the array. That works only when every object has exactly the same fields — the moment one record further down has a field the first one lacks, that column is silently missing from the entire output, with no error to notice. This tool scans every object first and builds the column list from the union of keys that appear anywhere in the array, so a field used inconsistently across records still gets its own column instead of vanishing.

Handling nested objects and arrays

CSV has no concept of nesting, so a nested object like address: { city: "Dhaka" } flattens into a column named address.city. Arrays have three explicit handling modes: flatten into indexed columns like tags.0 and tags.1, join into a single cell with a chosen separator, or JSON-stringify the whole array into one cell verbatim.

Making the result open cleanly, and seeing it first

A UTF-8 byte-order mark and CRLF line endings can both be turned on for a CSV headed straight into Excel, alongside delimiter choice and a quote-all-fields option for spreadsheet software that is picky about quoting. Before any of that matters, a rendered table of the first rows shows exactly what the columns and values look like, catching a wrong array mode or an unexpected column before the file is downloaded rather than after.

Privacy

Parsing and conversion both happen in your browser. Nothing you paste, drop, or load from a file is sent to a server.

Frequently asked questions

Is my data uploaded anywhere?
No. Parsing and conversion both run locally in the browser — nothing is sent to a server.
Why would a JSON to CSV converter drop a column?
If the column list is built only from the first object's keys, a field that only appears in later records never gets a column at all, and its values are silently missing from the entire output. This tool avoids that by scanning every object and building columns from the union of keys found anywhere in the array.
How are nested objects represented as CSV columns?
A nested object flattens into dot-path column names, so address: { city: "Dhaka" } becomes a column named address.city holding that value directly, rather than an unreadable JSON blob in a single cell.
What are the different ways an array can become a CSV cell?
Flatten spreads it into indexed columns like tags.0 and tags.1. Join combines it into one cell with a chosen separator between values. JSON-stringify keeps it as one cell containing the array's literal JSON text.
Why would a UTF-8 BOM or CRLF line endings be needed?
Excel expects a leading byte-order mark to correctly detect UTF-8 encoding, and traditionally uses CRLF line endings rather than the LF used on Linux and macOS. Turning both on produces a CSV that opens cleanly in Excel instead of showing garbled characters or everything on one line.
Can the result be checked before downloading it?
Yes — a rendered table of the first rows shows the actual columns and values as a real table, so an unexpected column or an array mode that was not intended can be caught before the file is saved.
Theme Accent