GSTIN Validator

Paste a GST number to verify its structure and checksum, and see the state, PAN, and registration details encoded in it.

Every GSTIN is 15 characters with a fixed structure and a checksum digit. This validator runs entirely in your browser — the number you type is never sent to a server.

/15 characters

  • Format (15-character pattern)
  • State code
  • Checksum (Luhn mod-36)

Decoded details

PAN
PAN holder type
Entity number (13th char)
Check character

Anatomy of a GSTIN

A GSTIN (Goods and Services Tax Identification Number) is a 15-character identifier issued to every GST registration in India, and each part of it means something. Take 27AAPFU0939F1ZV: the first two digits (27) are the state code — Maharashtra. The next ten characters (AAPFU0939F) are the business's PAN. The 13th character (1) is the entity number — how many registrations that PAN holds in the state. The 14th is always Z, and the 15th is a checksum computed from the previous fourteen.

What the PAN inside reveals

The fourth character of the embedded PAN tells you what kind of entity you're dealing with: C for a company, P for an individual or proprietor, F for a firm or LLP, H for a Hindu Undivided Family, T for a trust. If a supplier claims to be a private limited company but their GSTIN carries a "P", that's worth a question.

How the checksum catches typos

The final character is computed with a Luhn mod-36 algorithm over the digits 0–9 and letters A–Z: alternating characters are weighted 1 and 2, each weighted value is reduced by summing its quotient and remainder when divided by 36, and the total determines the check character. The practical upshot: a single mistyped character almost always produces a checksum mismatch, so validating before you save a customer or vendor catches most data-entry errors instantly.

Structurally valid ≠ registered

This validator confirms a number is structurally correct — right format, real state code, matching checksum. It cannot tell you whether the registration is live, suspended, or cancelled; for that, use the "Search Taxpayer" facility on the official GST portal. Both checks matter: structure first (instant, offline), registration status when onboarding a new vendor or a large customer.

Why validate GSTINs at all?

An invalid buyer GSTIN on a B2B invoice can block the buyer's input tax credit and bounce back through your GSTR-1. Validating at entry is far cheaper than issuing credit notes later. When you create an invoice with our free invoice generator, the GSTIN fields are checked with this same logic — and if you also need the right HSN or SAC code for the line items, try the HSN/SAC code finder.

Frequently asked questions

A GSTIN has 15 characters: the first 2 digits are the state code, characters 3–12 are the business's PAN, the 13th character is the registration (entity) number for that PAN within the state, the 14th is always "Z", and the 15th is a checksum character computed from the first 14.
No. It verifies that the number is structurally valid — correct format, real state code, and a matching checksum. A structurally valid number can still be unregistered or cancelled; for live registration status, use the search on the official GST portal (gst.gov.in).
The 15th character is computed from the first 14 using a Luhn mod-36 algorithm over the characters 0–9 and A–Z. Alternating characters are weighted 1 and 2, the weighted values are reduced, and the total determines the check character. A single typo almost always breaks the checksum.
It is the entity number: how many registrations the same PAN holds in that state. "1" means it is the first registration; "2" the second, and so on (letters continue after 9).
Yes. GST registration is state-wise, so a business operating in several states holds a separate GSTIN per state — all sharing the same PAN in positions 3–12.

Validate customer GSTINs automatically

Invodo checks every customer and vendor GSTIN as you type it, so bad numbers never reach your invoices or e-invoicing. Start free.