GSTIN validator tool
Technical standards & who uses this tool
The validator checks GSTIN structure and validates the checksum (last character) using a standard mod-36 approach. It also validates the PAN-like pattern embedded in GSTIN.
- Structure rules: state code + PAN pattern + entity + “Z” + checksum
- Mod-36 checksum validation (last character)
- PAN format decoding (useful for quick screening)
Deconstructing the 15-digit GSTIN
A GSTIN is not random — it’s a structured identifier. Here’s how to read it quickly.
What do the 15 digits in a GSTIN mean?
A GSTIN is a 15-digit unique identifier. It starts with a 2-digit State Code, followed by the 10-digit PAN of the business, a 1-digit Entity Code, the default letter 'Z', and a Checksum character.
How to validate a GSTIN
This tool vs. GST portal
| Feature | This Validator | GST Portal |
|---|---|---|
| Checksum + structure validation | ✅ Yes (instant) | ✅ Not the main purpose |
| Decode state + PAN fields | ✅ Yes | ✅ Limited |
| Active/cancelled status | ❌ No | ✅ Yes |
| Bulk validation | ✅ Yes (CSV/JSON export) | ❌ Not convenient |
GST state/UT codes list
40 codesShow state/UT code tableShow +
| Code | State / UT | Notes |
|---|---|---|
| 01 | Jammu & Kashmir STATE | |
| 02 | Himachal Pradesh STATE | |
| 03 | Punjab STATE | |
| 04 | Chandigarh UT | |
| 05 | Uttarakhand STATE | |
| 06 | Haryana STATE | |
| 07 | Delhi UT | |
| 08 | Rajasthan STATE | |
| 09 | Uttar Pradesh STATE | |
| 10 | Bihar STATE | |
| 11 | Sikkim STATE | |
| 12 | Arunachal Pradesh STATE | |
| 13 | Nagaland STATE | |
| 14 | Manipur STATE | |
| 15 | Mizoram STATE | |
| 16 | Tripura STATE | |
| 17 | Meghalaya STATE | |
| 18 | Assam STATE | |
| 19 | West Bengal STATE | |
| 20 | Jharkhand STATE | |
| 21 | Odisha STATE | |
| 22 | Chhattisgarh STATE | |
| 23 | Madhya Pradesh STATE | |
| 24 | Gujarat STATE | |
| 25 | Daman & Diu (Old) UT | LegacyCanonical: 26 Merged into code 26 (DNHDD). |
| 26 | Dadra & Nagar Haveli and Daman & Diu UT | |
| 27 | Maharashtra STATE | |
| 28 | Andhra Pradesh (Old) STATE | LegacyCanonical: 37 Commonly treated as old AP; use 37 for current AP. |
| 29 | Karnataka STATE | |
| 30 | Goa STATE | |
| 31 | Lakshadweep UT | |
| 32 | Kerala STATE | |
| 33 | Tamil Nadu STATE | |
| 34 | Puducherry UT | |
| 35 | Andaman & Nicobar Islands UT | |
| 36 | Telangana STATE | |
| 37 | Andhra Pradesh STATE | |
| 38 | Ladakh UT | |
| 97 | Other Territory OTHER | Special code sometimes used in legacy/internal mappings. |
| 99 | Centre Jurisdiction OTHER | Special/internal mapping; not typical for standard GSTIN. |
Examples
- Paste GSTIN from invoice
- Confirm state code matches supplier state
- Confirm checksum is valid (typo detection)
- Paste a list (space/comma/newline separated)
- Export invalid ones to CSV for correction
- Then proceed to ITC workflow / 2B matching
Frequently asked questions
What does this tool validate?
Does “Valid” mean the GSTIN is active?
Can I validate many GSTINs at once?
Is my GSTIN data sent to your server?
Sources & verification
This page focuses on structure-level validation (format/state/PAN/checksum). For compliance actions (filing, ITC, vendor onboarding), confirm legal status and registration details through official channels.
- GST Portal search / taxpayer verification (official portal) — use “Search Taxpayer” on gst.gov.in
- If you’re doing ITC work: cross-check vendor details with GSTR-2B / invoice data
- Does not confirm active/cancelled/suspended status
- Does not verify filing behavior or compliance score
- Does not fetch data from government APIs
Next step
If you’re validating vendor GSTINs for ITC workflows, the next step is to reconcile purchase data against GSTR-2B.