JSON to Excel Converter turns a JSON array of objects into a single-sheet .xlsx workbook named converted.xlsx entirely in your browser, processes up to 10,000 rows and 200 columns of data, and never uploads the payload — a constraint that fits the offline, privacy-first posture GST users typically require. When you paste a non-empty JSON array whose items are objects and select Convert to Excel, the page creates a local download while preserving the order in which field names first appear across the objects. Strings, numbers, booleans, and null values land as ordinary cell values, and values that look like spreadsheet formulas are written as plain text rather than evaluated. The browser never executes the JSON as script, never runs macros inside the resulting workbook, and never follows external links or remote workbook connections. Because parsing and workbook generation happen on your machine, the conversion behaves like an offline utility you can keep beside your standard GST offline tools, useful for turning API samples, configuration exports, test fixtures, or analytics payloads into a workbook for review or handoff.

Why GST Offline Tooling Needs a Local JSON-to-Excel Path
The GST offline tool ecosystem in India typically runs on a local machine and accepts Excel uploads for GSTR-1, GSTR-3B, reconciliation, and invoice-management work. Many of the upstream systems that feed those workbooks — taxpayer portals, accounting software, GST Suvidha Providers, e-invoicing tools, IRP responses, and API gateways — emit JSON. Before that JSON can be massaged into a workbook that the offline tool will accept, it usually needs to round-trip through a spreadsheet so a human can review totals, filter by GSTIN, or clean up mismatched HSN codes. A local JSON-to-Excel step that does not transmit the data is the safest bridge in that pipeline: the spreadsheet becomes a handoff artifact, and the source JSON stays on disk as the record of truth.
For the reverse workflow — taking a finished GST return workbook and pushing it back into JSON for an integration — see How to Convert an Excel File to JSON for GST. The two tools share the same privacy guarantee, so they can be paired inside one offline workflow without breaking the no-upload rule.
Prepare the JSON Before You Convert
The converter is strict about the shape it accepts. The top-level value must be a JSON array, every item in that array must be an object, and the array must not be empty. If the JSON you exported wraps the rows inside an outer envelope — for example { "data": [ {...}, {...} ] } or { "results": [...] } — the converter will reject it. Strip the wrapper in your editor first so the array sits at the top level.
- Confirm every object uses consistent field names. A later object that introduces a brand-new field will be accepted, but it becomes a new column appended after the existing ones, so the header order can surprise downstream importers.
- Keep numbers as JSON numbers and identifiers like GSTINs as strings. The converter does not infer types from spelling, and a value like "01" will not become the integer 1.
- Decide what to do with nested objects and arrays before you paste. They are serialized as compact JSON text inside a single cell rather than flattened into multiple columns, which is the only honest representation in a flat worksheet.
- Cap the payload at the documented limits in the table below so the converter does not fail closed after a long parse.
If your raw payload is malformed, use How to Check if Your JSON Format Is Correct to isolate the syntax error before retrying the conversion.
Convert JSON to Excel in the Offline Tool
- Open JSON to Excel Converter in your browser. The page loads with an empty editor — the conversion library is not pulled in until you request it, which keeps the initial load small.
- Paste a non-empty JSON array of objects into the input. Watch for trailing commas, unquoted keys, and stray comments — the converter rejects invalid JSON rather than silently repairing it.
- Select Convert to Excel. Parsing and workbook generation both run locally; no JSON is posted to a service, stored against your account, or used to train the tool.
- Wait for the local download named converted.xlsx to appear in your browser's download list.
- Open the downloaded workbook in the spreadsheet application you intend to hand it to — LibreOffice Calc, Microsoft Excel, WPS, or the spreadsheet engine inside your GST offline tool — and confirm that the header row matches the field order you expected.
- Keep the original JSON file as the source of record, especially where leading-zero strings, numeric precision, null semantics, or nested structure carry business meaning.
Boundary Behavior and Hard Limits
The converter is deliberately bounded and fails closed when those bounds are crossed. Knowing the exact numbers prevents guesswork about why a conversion rejected an export:
| Limit | Maximum |
|---|---|
| JSON input size | 1,000,000 characters |
| Rows | 10,000 |
| Columns | 200 |
| Cells | 200,000 |
The tool also rejects an empty array, a primitive array item (a string or number inside the array), an object that has no fields, or a payload over any of those limits. It will not silently drop a key, truncate a long string, or produce a partial file. Dates written into the JSON stay as whatever value the source supplied — the workbook does not reinterpret them through a locale-specific date format, and values that look like formulas (=SUM(A1:A10), +CMD|..., =HYPERLINK(...)) are written as ordinary text cells rather than evaluated.
What the converter deliberately does not do, so you can plan around it:
| Capability | Status |
|---|---|
| Upload JSON to a server | No — runs locally in the browser |
| Infer a schema or rename fields | No |
| Flatten nested objects into columns | No — serialized as compact JSON text |
| Evaluate spreadsheet formulas inside the workbook | No — written as plain text |
| Fetch a URL, merge files, or validate a business schema | No |
| Produce typed dates, locale formatting, charts, comments, filters, or validation rules | No |
If your downstream GST offline tool expects any of those richer workbook features, prepare them in software designed for that richer model rather than expecting them from this handoff step.
Verify the Workbook Before You Hand It Off
The generated workbook is a data handoff, not a formula engine, so the verification checklist is shorter than for a full spreadsheet project but more disciplined than a casual glance:
- Confirm the header row matches the field order in your source JSON for the first few records. First-seen order is stable, but a late-introduced field will land further right than you might expect.
- Spot-check a row whose source object is missing a field. The converter writes an empty cell for that column rather than skipping the row or filling it with a placeholder.
- Spot-check a row whose source object contains a nested value. The cell should hold compact JSON text — that is the expected representation and not a bug.
- Open the workbook in the same spreadsheet engine your GST offline tool uses, then re-save or re-export if needed. Different engines can reformat the same cell content slightly, so a final visual pass in the destination application is worth the minute it takes.
- Preserve the original JSON next to converted.xlsx. When a reconciliation later flags a mismatch, the JSON is what you trust to investigate.
The boundary is intentional. A JSON-to-Excel handoff that runs locally, refuses to execute pasted payloads, and stops at a flat data table keeps the conversion predictable. Anything more ambitious — typed dates, computed columns, multiple sheets, import validation, formula-driven summaries — belongs to the spreadsheet application itself, where you have undo, version history, and explicit control over what runs.