🧾 GST Compliance Guide

GSTIN Guide: Structure, Checksum & How to Verify a GST Number (2026)

📅 August 2026⏱ 9 min read✍️ ToolLoom Editorial

A GSTIN looks like a random string of letters and numbers, but every one of its 15 characters carries meaning — and one mistyped character on an invoice can quietly break your buyer's tax credit claim weeks later. Here's exactly how a GSTIN is built, validated, and why it's worth checking before you hit send.

📋 In This Article
  1. What a GSTIN is and why it exists
  2. Decoding all 15 characters
  3. The checksum digit — how it catches typos
  4. GST state code reference table
  5. Worked example — decoding a real GSTIN
  6. Why a wrong GSTIN breaks Input Tax Credit
  7. When to validate a GSTIN
  8. Common GSTIN mistakes
  9. Frequently asked questions

What a GSTIN Is and Why It Exists

GSTIN stands for Goods and Services Tax Identification Number — a unique 15-character code assigned to every business registered under India's GST regime. It replaced the older, fragmented system of separate state VAT TINs and service tax registration numbers with one standardised identifier used nationwide, embedded directly into invoices, GST returns, and e-way bills.

Unlike a random ID, a GSTIN is structured — every character position has a defined meaning, which is what makes it possible to validate one just by inspecting its format, without needing to query a government database.

🧾
On Every Invoice
Both seller and buyer GSTINs must appear correctly on B2B tax invoices.
📊
In Every GST Return
GSTR-1, GSTR-3B and related filings are all tied to your GSTIN.
🚚
On E-Way Bills
Goods movement documentation references the GSTIN of both parties.
🔍
Self-Verifiable
Format and checksum can be checked instantly without a portal lookup.

Decoding All 15 Characters

A valid GSTIN follows a fixed pattern: 27ABCDE1234F1Z5 is a typical example. Each segment carries specific information:

PositionCharactersMeaning
1–2State codeTwo-digit code for the state/UT of registration (e.g., 27 = Maharashtra)
3–12PANThe business's 10-character Permanent Account Number, embedded exactly
13Entity codeWhich registration this is for that PAN in that state — 1 to 9, then A to Z
14Fixed 'Z'Always the letter Z — reserved by design, no variation
15ChecksumA single check character computed from the first 14, using Luhn mod-36
💡

Because a business's PAN is embedded directly in its GSTIN, you can cross-check that a vendor's GSTIN and their PAN (shown separately on other documents) actually match — a quick sanity check that catches some fraudulent invoicing attempts.

The Checksum Digit — How It Catches Typos

The 15th and final character of a GSTIN isn't part of the identity information — it exists purely as an error-detection mechanism. It's computed using the Luhn mod-36 algorithm, the same family of algorithm used to validate credit card numbers, extended from a 10-digit alphabet to a 36-character alphabet (0–9 and A–Z).

1

Map each character to a value

Each of the first 14 characters is mapped to its position (0–35) in the charset "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".

2

Apply alternating weights

Working from the right, each character's value is multiplied by an alternating factor of 2 and 1.

3

Reduce and sum

Each weighted value is reduced modulo 36 and added together into a running total.

4

Derive the check character

The final checksum character is (36 − (sum mod 36)) mod 36, mapped back to the charset.

This design means a single mistyped character in a GSTIN will almost always produce a checksum mismatch, flagging the error immediately rather than letting it slip through unnoticed into an invoice or GST filing.

GST State Code Reference Table

The first two digits of any GSTIN identify the state or union territory of registration. A selection of the most common codes:

CodeState / UTCodeState / UT
07Delhi24Gujarat
08Rajasthan27Maharashtra
09Uttar Pradesh29Karnataka
19West Bengal33Tamil Nadu
23Madhya Pradesh36Telangana

The full list covers all 36+ Indian states and union territories — check the state code against the vendor's known location as a quick plausibility check before deeper validation.

Worked Example — Decoding a Real GSTIN

Take the sample GSTIN 27ABCDE1234F1Z5:

SegmentValueMeaning
State code27Maharashtra
PANABCDE1234FThe registered entity's PAN
Entity code11st GST registration for this PAN in this state
Fixed characterZAlways Z, by design
Checksum5Computed from the first 14 characters via Luhn mod-36

Paste any GSTIN into ToolLoom's GSTIN Validator to get this exact breakdown instantly, plus an immediate valid/invalid verdict with the reason if something doesn't match.

Why a Wrong GSTIN Breaks Input Tax Credit

GST's Input Tax Credit (ITC) system relies on automated cross-matching: the GST portal compares what a seller reports selling (in GSTR-1) against what the buyer claims as credit (via GSTR-2B). If the GSTIN on an invoice is wrong — even a single mistyped character — the transaction won't match correctly between the two returns.

ConsequenceImpact
ITC mismatchBuyer's input tax credit claim gets flagged or rejected
Reconciliation delaysBoth parties spend time tracing and correcting the error
Possible noticesPersistent mismatches can trigger GST department scrutiny
Relationship frictionBuyers may hesitate to work with vendors who send error-prone invoices
⚠️

A structurally valid GSTIN (correct format + checksum) doesn't guarantee it's the right GSTIN for that specific vendor — always confirm you have the correct number from the vendor directly, then validate it structurally as a final typo check before invoicing.

When to Validate a GSTIN

Common GSTIN Mistakes

🧾 Validate Any GSTIN Instantly — Free

Format check, checksum verification, and full state/PAN/entity decode — in your browser, nothing stored.

Open GSTIN Validator →

Frequently Asked Questions

A GSTIN is always exactly 15 characters — a mix of digits and uppercase letters. It breaks down as: 2 digits for the state code, 10 characters for the embedded PAN, 1 character for the entity/registration number, 1 fixed character (always 'Z'), and 1 final checksum character. Anything shorter or longer than 15 characters is automatically invalid.
An invoice carrying a wrong or mistyped GSTIN can break the buyer's Input Tax Credit (ITC) claim during GST return reconciliation, since the GST portal cross-matches GSTINs between the seller's GSTR-1 and the buyer's GSTR-2B. A mismatch can delay or block the buyer's ITC, trigger reconciliation notices, and damage the business relationship — all from a single typo that a quick validation check would have caught.
The 15th character of a GSTIN is generated using the Luhn mod-36 algorithm, an extension of the classic Luhn algorithm (used for credit card numbers) adapted to a 36-character alphabet of digits 0-9 and letters A-Z instead of just digits 0-9. It processes the first 14 characters with alternating weighting factors and a modulo-36 reduction to produce a single check character that catches the vast majority of single-character typos and transpositions.
Yes. The same PAN holder can register for GST separately in multiple states if they operate branches or business verticals in more than one state — each state registration gets its own GSTIN, with the same 10-character PAN embedded but a different state code at the start and potentially a different entity/registration character.
The 13th character of a GSTIN counts how many separate GST registrations the same PAN holder has within that specific state — it runs 1 through 9, then continues A through Z, allowing up to 35 separate registrations for the same PAN in a single state (for example, separate registrations for different business verticals under the same company).
No. Format and checksum validation only confirms the number is well-formed — it does not confirm the GSTIN belongs to an actively registered, compliant taxpayer. Before large transactions, always cross-check the GSTIN on the official GST portal (services.gst.gov.in) to see live registration status, legal name, and filing status, in addition to running a structural validation check.
About ToolLoom: We build free tools for Indian students, professionals and creators. All validation happens locally in your browser — no GSTIN is ever uploaded or stored. Found an error? Email contact@toolloom.in

More from ToolLoom