Skip to content
Live100% client-sideJSON → Excel

JSON to Excel Converter — Real .xlsx, Zero Upload

Convert JSON to a real .xlsx workbook instantly — typed cells, content-sized columns, array-of-objects or any shape. 100% client-side, zero uploads.

  • Instant pipeline

    Paste, drop, or upload — conversion updates automatically.

  • Typed output

    Columns are inferred as INTEGER, NUMERIC, BOOLEAN, or VARCHAR.

  • 100% local

    Files never leave your browser, even at the 15MB cap.

Source

Input

JSON text

Parsed columns and row counts appear here after conversion.

Output

Excel workbook (.xlsx)

Generated Excel workbook (.xlsx) appears here after conversion.

100% Client-Side Execution: Your files, database rows, and customer data are processed entirely in local browser memory. Zero bytes are uploaded to any server or external API.

Technical reference

How JSON to Excel conversion works

JSON to Excel Converter (.xlsx) — Online & Private | SyntaxFiddle runs JSON payloads through a deterministic, fully client-side pipeline and produces Excel output in a single pass — no round-trips, no queues, no waiting on someone else's server. Paste an array of objects (or a single object) into the input pane — nested objects are flattened with dot paths automatically. Press Run Conversion (or just pause typing — the studio parses as you go), and the generated output appears on the right with line numbers, syntax highlighting, and one-click copy or download.

JSON shape detection — arrays, objects, and flattening

The parser accepts the four shapes real JSON data arrives in: an array of objects (the canonical form — every API list endpoint), a single object (one row), an array of arrays (positional columns, first row as header), and an object of arrays (column name to values, the plotly/ dataframe encoding). No configuration is needed — the shape is detected structurally, and anything outside those forms is rejected with a precise message instead of a wrong answer.

Nested objects are flattened with dot paths — user.name becomes its own column named user.name — and array values serialize to their JSON text, so a nested API response converts without losing structure. Null becomes an empty cell, and numbers and booleans keep their native types into typed outputs. Headers are the union of keys in first-seen order, so records with missing fields convert with blanks rather than errors.

JSON to Excel: typed cells or it does not count

The failure mode of most JSON-to-Excel tools is that they are CSV converters in disguise: every value becomes text, and the first SUM() over the amount column returns zero. This generator writes real Office Open XML — numbers as numeric cells, booleans as TRUE/FALSE, nulls as empty cells — so aggregation, filtering, and pivot tables work the instant the workbook opens. Column widths are sized to content and capped, so the sheet is readable before anyone touches anything.

The JSON side accepts all four shapes real data arrives in — array of objects, single object, array of arrays, object of column arrays — with nested objects flattened to dot-path columns and arrays serialized to JSON text in their cell. The workbook is generated in the same Web Worker pipeline as every other target, under the same 15MB browser-safety cap, and the preview pane shows the parsed table before you download a byte.

A real .xlsx workbook, not CSV wearing an extension

The download is a genuine Office Open XML workbook: cells carry types, not text. Numbers land as numeric cells that Excel aggregates with SUM and AVERAGE, booleans land as TRUE/FALSE cells, and nulls become empty cells rather than the string 'null' — so filters, pivots, and charts behave the instant the file opens. Column widths are sized to content (capped at 40 characters) so the first impression is a readable sheet, not a wall of ####.

The preview pane shows the equivalent CSV while the workbook generates, so you can sanity-check the data before downloading. Everything — parsing, row extraction, workbook generation — runs in the same client-side pipeline as every other target, guarded by the worker and the 15MB cap.

Private by architecture: your data never leaves the browser

Every stage of this conversion — parsing, type inference, and output generation — executes locally inside your browser's JavaScript engine. The input is never transmitted, logged, or stored: there is no upload endpoint, no queue, no telemetry, and no account to create. Files larger than 1MB are handed to a background Web Worker so the interface keeps animating at 60fps even on hundred-thousand-row imports, and the page keeps working offline once loaded because it is a fully static export.

That architecture makes the tool safe for the exports you would never paste into a random website: customer PII, financial line items, internal Salesforce extracts, and unreleased product data. Paste it, convert it, copy or download the result — and the bytes never moved from your machine.

Limits and practical tips

Inputs are capped at 15MB per file or paste — hundreds of thousands of rows in practice — purely as a browser-safety guard rather than a server policy, since there is no server involved at all. Processing is single-pass and deterministic: the same input with the same options always produces byte-identical output, which makes the generator safe to keep in CI pipelines and documentation. Open the downloaded .xlsx in Excel, Numbers, or LibreOffice — typed cells and sized columns are already in place, so pivot tables work on first open.

Frequently asked questions

How do I convert JSON to Excel?

Paste your JSON — an array of objects, a single object, an array of arrays, or an object of column arrays — pick Excel as the target, and press Run Conversion. The preview shows the parsed table, and the Download button produces a real .xlsx workbook with typed cells and content-sized columns.

Is the output a real Excel file or CSV with an extension?

A real Office Open XML workbook. Numbers land as numeric cells that SUM and AVERAGE work on, booleans become TRUE/FALSE cells, and nulls become empty cells — so filters and pivot tables behave correctly the moment the file opens. It is not a text file renamed to .xlsx.

What happens to nested objects in my JSON?

Nested objects flatten to dot-path columns — user.address.city becomes a column named user.address.city — and arrays serialize to their JSON text inside the cell. The header set is the union of keys across all records in first-seen order, so records with different fields convert with blanks instead of errors.

How large a JSON payload can I convert?

Inputs are capped at 15MB — hundreds of thousands of rows in practice — purely as a browser-safety guard. Large payloads are processed in a background Web Worker so the tab stays responsive, and the same input always produces a byte-identical workbook.

Is my JSON uploaded to a server?

Never. Parsing and workbook generation run entirely in your browser — there is no upload endpoint, nothing is logged, and no account is needed. API payloads with customer data, tokens, or internal records stay on your machine.

Why do numbers sometimes arrive as text in other converters?

Because those tools generate CSV or write every cell as a string, leaving Excel to guess — and Excel's guesses corrupt leading-zero IDs and long numbers. This converter writes typed cells directly into the .xlsx format: genuine numeric and boolean cells with the type carried in the file, no guessing stage involved, and identifier-like strings preserved as text precisely because they were strings in your JSON.

Can I convert multiple JSON shapes in one workbook?

One conversion produces one sheet from one shape — the deterministic behavior that makes outputs safe to automate. For multi-shape workbooks, convert each payload separately and combine in Excel, or merge the JSON first. A converter that silently mixed shapes into one sheet would be inventing a schema your data never agreed to.