Step 1 — prepare the sheet
Three things make the difference between JSON you can use and JSON you have to fix by hand:
- One header row. No merged cells, no title row above it. If the export came from Tally with a cover sheet, keep the data on its own sheet.
- One section per sheet. B2B, B2CL, B2CS and CDNR have different columns — mixing them in one sheet gives you rows where half the fields are empty.
- Identifiers as text. Invoice numbers, HSN codes and pincodes with leading zeros must be Text in Excel before conversion. Otherwise
00721becomes721and0401becomes401.
Step 2 — drop the workbook
Drag the .xlsx file into the box above. There is no "Save as CSV" step: the converter reads the workbook directly in your browser, shows a sheet picker when the book has more than one sheet, and opens on the sheet that looks like a data table rather than the title page.
Nothing is uploaded. The file is read by JavaScript in the page — you can disconnect the network after loading and the conversion still works.
Step 3 — check the preview, then download
The preview shows the JSON as it will be written. This is where you catch the two things that go wrong most often: a column that should be text but became numbers, and an empty column from a trailing formatted row. Fix the column type in the settings, then download or copy.
What you get — and what you do not
| Use case | This converter | GST Offline Tool |
|---|---|---|
| Upload GSTR-1 on the portal | No — the portal validates its own schema | Yes, this is its only job |
| Push invoices into your ERP or API | Yes | No |
| Reconcile against the sales register | Yes | No |
| Read a JSON the client already sent | Yes, and this is the fastest path | No |
| Works without installing anything | Yes, in the browser | No, Windows desktop app |
The row that matters is the first one. Plenty of pages promise "JSON for the GST portal" and quietly mean something else; this page says it plainly so you do not find out at upload time.
If you have the JSON and need it readable instead
The opposite direction is a different problem: the portal gives you a JSON and you need it as a spreadsheet to foot it. Use GSTR-1 JSON to Excel — it splits every section onto its own sheet with a totals summary, also in the browser.
If the Offline Tool will not generate a file at all
That is a separate failure with known causes — duplicate HSN under two rates, running from inside the ZIP, blocked macros. Written up in GST Offline Tool not generating JSON.