How to Use the GSTIN Format & Checksum Validator
- Paste or type the 15-character GSTIN into the box above.
- Click Check. The tool normalizes your input (trims spaces, uppercases letters) and checks it against the official GSTIN structure and its checksum character.
- Read the decode table to see the state code, embedded PAN, entity number, and checksum character broken out individually.
- Nothing you type is uploaded anywhere — the whole check runs as plain JavaScript in your browser tab, and it works the same with your network disconnected.
What a GSTIN Actually Is
A GSTIN (Goods and Services Tax Identification Number) is a 15-character alphanumeric code assigned to every business registered under India's GST regime. Its structure is fixed and public:
[2-digit state code][10-character PAN][1-digit entity number]Z[1 checksum character]
The first two digits identify the state or union territory where the business is registered (for example, 27 is Maharashtra, 07 is Delhi, 29 is Karnataka). Characters 3–12 are the business's own 10-character PAN — the same PAN used for income tax. Character 13 is the entity/registration number, counting how many GST registrations that PAN holds within that state. Character 14 is always the literal letter Z, reserved for future use. Character 15 is a checksum character computed with a Luhn mod-36 algorithm over the alphabet 0–9 then A–Z.
The Checksum: Luhn mod-36
GSTIN's 15th character isn't random — it's computed from the first 14 characters using a weighted checksum (alternating weights of 2 and 1 across the 36-symbol alphabet 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ). If even one character earlier in the GSTIN is mistyped, the checksum will almost certainly no longer match, which is exactly what this tool flags. This is the same class of algorithm as a credit card's Luhn check digit, generalized from 10 symbols to 36.
Worked Example
27AAPFU0939F1ZVWhat This Tool Does NOT Do
This is a structure and checksum validator only. It does not connect to the GST Network (GSTN) portal, does not check whether the GSTIN is currently active, cancelled, or suspended, and cannot confirm the business name attached to it. A GSTIN that passes this check is internally consistent — it is not proof of a legitimate, currently-registered business. For real transactions, always cross-check on the official GST portal at services.gst.gov.in.
Common Mistakes
- Transposing two digits in the state code (07 vs 70) — this usually breaks the checksum
- Confusing the letter O with the digit 0, or I with 1, when typing from a photo of an invoice
- Copying a GSTIN with a trailing space or line break, which this tool trims automatically
- Assuming a checksum-valid GSTIN means the business is currently GST-registered — it doesn't
Frequently Asked Questions
Is my GSTIN uploaded or stored anywhere? No. The check runs entirely as JavaScript inside your browser tab — nothing is sent to a server, logged, or stored.
Does a valid checksum mean the business is real? No. It means the number is internally consistent. Confirming an actual, active GST registration requires the official government portal.
Why does character 14 have to be Z? GSTN reserved that position for future use; every currently issued GSTIN uses Z.
Is this tool free? Yes, completely free, no login, no limit.