Hello, User

GSTR-1 JSON Validator

Catch GSTIN, state code, and document-series errors in your GSTR-1 JSON before the GST portal does — free, instant, in your browser.

What this validator actually checks

Every check here is a rule we can independently verify: the official GST checksum algorithm for GSTINs, the real state-code and unit-of-measure lookup tables, and arithmetic that must hold regardless of what the portal itself additionally enforces (a document-issued range's net_issue must equal totnum minus cancel — that's just subtraction, not portal-specific policy).

What it does not do: claim to replicate every server-side rule the GST portal itself enforces. A clean result here is a strong signal your file is structurally sound, not an absolute guarantee of portal acceptance.

Frequently Asked Questions

What exactly does this tool check?

Real, verifiable rules: GSTIN structure and check-digit math (the same official mod-36 algorithm used everywhere in this project), place-of-supply state codes against the actual GST state code list, unit-of-measure (UQC) codes against the standard list, and arithmetic identities like net_issue = totnum − cancel in the documents-issued section. It does not claim to replicate every rule the GST portal's own server-side validator applies — only what can be verified independently.

Is my GSTR-1 JSON uploaded anywhere?

No. Validation runs entirely in your browser. The file, and any edits you make to it here, never leave your device.

Can I fix errors here and download the corrected file?

Yes. The JSON is shown in an editable box — fix a value, click Recheck JSON to validate again, and download the corrected file once it looks right.

Does passing this validator guarantee the GST portal will accept my file?

No tool outside the GST portal itself can guarantee that, since the portal enforces additional server-side business rules that are not publicly documented. This tool catches structural and arithmetic problems early so you are not discovering them for the first time on the portal — treat a clean result as a strong sign, not an absolute guarantee.

What does it mean when a check is a warning rather than an error?

An error is something structurally wrong (a field of the wrong type, an impossible value). A warning is something that is technically valid JSON but looks suspicious — like a GSTIN with a wrong check digit, which usually means a typo, or an inter-state supply that also carries CGST/SGST, which usually means a place-of-supply mix-up.