Home · GSTIN Validator
GSTIN Validator
Two layers, both checked locally: the format (state code + PAN pattern + entity code + Z + check character) and the checksum itself, recomputed from the first 14 characters.
Check a GSTIN
The checksum, worked by hand
Take the base 29ABCDE1234F1Z. Code-point values: 2, 9, 10, 11, 12, 13, 14, 1, 2, 3, 4, 15, 1, 35. Multiply positions 1–14 by factors 1, 2, 1, 2 … and fold each product as ⌊p/36⌋ + (p mod 36). The folded sum is 184. 184 mod 36 = 4, so the check value is 36 − 4 = 32 → character W. Therefore 29ABCDE1234F1ZW is checksum-correct and 29ABCDE1234F1ZX is not — try both above. The invoice generator runs this same check on every GSTIN you type: an invalid recipient GSTIN is flagged on the document and excluded from the B2B export, never silently exported as valid.
GSTIN questions
What does a valid checksum actually prove?
That the 15 characters are internally consistent — the check character matches the other 14 under the GSTN algorithm. It does not prove the registration exists or is active; only the official GST portal can tell you that. Anyone who claims a checksum check verifies a business is overselling arithmetic.
Can I validate a GSTIN by hand?
Yes — the worked example below does exactly that. Convert each of the first 14 characters to its code-point value (0–9 stay, A=10 … Z=35), multiply alternately by 1 and 2, fold each product in base 36, sum, and the check character is what brings the total to a multiple of 36.