GST tools
GSTIN validator and decoder
Paste a GSTIN, the 15-character number on an Indian GST registration, and this page checks how it is written, tests its check digit and reads what the characters say: the state or UT, the PAN inside it, the holder type and the entity number. You can check a whole list in one go. It runs in your browser, so nothing you type is sent anywhere.
Format and check digit only. This does not show that a GSTIN is registered.
Check one GSTIN
Type or paste a GSTIN to see what its 15 characters say.
Format and check digit only. This does not show that the GSTIN is registered or whose it is. Look it up on the official GST portal (opens in a new tab).
Check a list
A new line, comma, tab or space starts the next GSTIN. Up to 500 are checked at a time.
Nothing you paste is uploaded, saved or put in the web address. The list and results stay on this page until you close or reload it.
Independent tool, not run or approved by GSTN or any tax department. Read the disclaimer
How it works
Type or paste a GSTIN
Spaces, hyphens and lower case are tidied up for you. The sample button fills in a made-up number so you can see how the result reads.
Read the result
It says whether the layout and the check digit are fine, lists the exact positions that are not, and reads out the state or UT, the PAN, the holder type and the entity number.
Look the taxpayer up on the GST portal if you need to know who holds it
This page cannot show that a GSTIN is registered or whose it is. To check many numbers at once, paste a list, then copy the results or download them as CSV.
What the 15 characters mean
The GST Council's registration flyer describes a GSTIN as a 15-digit number. The first two digits are the state code, the next ten are the PAN of the legal entity, the next two are an entity code and the last is a check sum. Public references, such as the python-stdnum documentation, add that the 13th character counts the registrations a PAN holder has in that state, running from 1 to 9 and then A to Z, and that the 14th is usually Z.
| Characters | Part | In 27AAAAA0000A1Z2 | What to know |
|---|---|---|---|
| 1-2 | State or UT code | 27 | Two digits from the GST state and UT list below. |
| 3-12 | PAN of the holder | AAAAA0000A | Five letters, four digits, one letter. |
| 13 | Entity number | 1 | Which registration this is under that PAN in that state: usually 1 to 9, then A to Z. |
| 14 | Usually Z | Z | Other letters can appear. This page notes them instead of failing the number. |
| 15 | Check digit | 2 | Worked out from the first 14 characters, so a typing mistake usually breaks it. |
The sample is made up. Its PAN digits are 0000, and the Income Tax Department issues PAN digits from 0001 to 9999, so the sample's PAN falls outside the numbers it issues.
The PAN's fourth letter shows who holds it
That letter is the sixth character of the GSTIN. The Income Tax Department's FAQ on how a PAN is formed lists these ten, and the public references below agree. python-stdnum's PAN module also lists a K and notes that it may have been discontinued. This page treats a K like any other letter outside the list: it shows a note, not an error.
- AAssociation of persons (AOP)
- BBody of individuals (BOI)
- CCompany
- FFirm or LLP
- GGovernment
- HHindu undivided family (HUF)
- JArtificial juridical person
- LLocal authority
- PIndividual
- TTrust
How the check digit catches typing mistakes
The last character is worked out from the first 14 with a method called Luhn mod 36, in which the digits count as 0 to 9 and the letters A to Z as 10 to 35. If any one of the 15 characters changes, the check digit stops fitting. Two neighbouring characters traded places are caught too, unless they are 0 and Z. Two mistakes in one number can cancel each other out about one time in 36.
A check digit has 36 possible values, so roughly one random 15-character string in 36 passes it. Passing shows that a number is well formed. It does not show that the number exists.
What this page does and does not do
It does
- Check the length, the characters allowed, the layout of the PAN part and the check digit.
- Read out the state or UT, the PAN, the holder type and the entity number, and note anything unusual.
- Run a bulk check on up to 500 GSTINs at a time, and let you copy the results or download them as CSV.
It does not
- Show whether a GSTIN is registered, active or cancelled, or whose it is. Search Taxpayer on the GST portal does that.
- Make GSTINs, show the check digit a number should have, or suggest a corrected number.
- Read special identifiers, such as the registrations given to non-resident taxable persons or to tax deductors who registered on a TAN instead of a PAN (neither is based on an Indian PAN), or the UINs issued to some United Nations bodies and other organisations. They can show format problems here, so look them up on the GST portal.
- Send or save anything you type.
This is an independent tool. It is not run or approved by GSTN or any tax department. Read the disclaimer.
State and UT codes
These 37 codes appear in both government code lists: the e-way bill state code list and the e-invoice master codes. They are the only codes this page names. Any other code gets a note, never a failure on its own: the check digit decides.
| Code | State or UT |
|---|---|
| 01 | Jammu and Kashmir |
| 02 | Himachal Pradesh |
| 03 | Punjab |
| 04 | Chandigarh |
| 05 | Uttarakhand |
| 06 | Haryana |
| 07 | Delhi |
| 08 | Rajasthan |
| 09 | Uttar Pradesh |
| 10 | Bihar |
| 11 | Sikkim |
| 12 | Arunachal Pradesh |
| 13 | Nagaland |
| Code | State or UT |
|---|---|
| 14 | Manipur |
| 15 | Mizoram |
| 16 | Tripura |
| 17 | Meghalaya |
| 18 | Assam |
| 19 | West Bengal |
| 20 | Jharkhand |
| 21 | Odisha |
| 22 | Chhattisgarh |
| 23 | Madhya Pradesh |
| 24 | Gujarat |
| 26 | Dadra and Nagar Haveli and Daman and Diu |
| 27 | Maharashtra |
| Code | State or UT |
|---|---|
| 29 | Karnataka |
| 30 | Goa |
| 31 | Lakshadweep |
| 32 | Kerala |
| 33 | Tamil Nadu |
| 34 | Puducherry |
| 35 | Andaman and Nicobar Islands |
| 36 | Telangana |
| 37 | Andhra Pradesh |
| 38 | Ladakh |
| 97 | Other Territory |
Codes that are not in the list
- 25Code 25 (Daman and Diu) is in the e-invoice portal's master list but not in the e-way bill list, which uses 26 for the merged Dadra and Nagar Haveli and Daman and Diu.
- 28Code 28 is not in the GST-era state lists. The older VAT and TIN list used it for Andhra Pradesh, which the GST lists code as 37 (Telangana is 36).
- 96 and 99Codes 96 and 99 are not states: the e-invoice master list names both OTHER COUNTRIES, and the e-way bill list names 99 OTHER COUNTRY. This tool reads the standard state layout, so for these codes it can only say whether the format fits.
- Any other codeThis code is not in the GST state and UT lists we checked (01-24, 26, 27, 29-38 and 97).
Sources and method
Last reviewed 31 October 2026 by Kunal Siyag · Accuracy policy
Government pages come first. The public references are cross-checks for details that no government page spells out. The flyer calls the last digit a check sum without describing the method, so the check digit follows the Luhn mod 36 method as python-stdnum implements it. We tested our code against python-stdnum's published sample, against GSTINs shown in public company listings (every one we tried fits) and, on tens of thousands of random strings, against a separate implementation. The two always agreed.
Government pages
- GST Council: Registration under GST law (flyer)A 15-digit GSTIN: two digits of state code, ten of PAN, two of entity code and a check sum. No centralised registration across states.
- E-way bill system: state code listState and UT codes 01-24, 26, 27, 29-38 and 97, and 99 as OTHER COUNTRY.
- E-invoice portal: master codesThe same codes, plus 25 (Daman and Diu) and 96 and 99 as OTHER COUNTRIES.
- State codes used for TIN validation before GST (ddvat.gov.in, PDF)The older list, where 28 was Andhra Pradesh and 37 was Andhra Pradesh (New).
- GST portal user guide: Search TaxpayerWhat the official search shows for a GSTIN, and that it asks for a captcha before you are logged in.
- Income Tax Department: how a PAN is formed (FAQ)The ten letters a PAN's fourth place can hold, and that its four digits run from 0001 to 9999.
- GST portal user guide: Apply for registration (normal taxpayer)The PAN field takes the PAN of the business, or of the proprietor for a sole proprietorship.
- E-invoice API schema: generate IRN (NIC sandbox)The API's GSTIN fields take two digits and then 13 letters or digits, with no rule for a Z in the 14th place.
- Canada Revenue Agency: program accountsThe GST/HST account number: a 9-digit business number, RT and a 4-digit reference.
- New Zealand Inland Revenue: register for GSTA New Zealand GST number is the same as the IRD number.
- Australian Business Register: ABN Lookup FAQsABN Lookup lists a business's GST registration.
Public references
- python-stdnum: Indian GSTIN moduleThe 13th character (registrations under one PAN in a state), the 14th character Z, and the Luhn mod 36 check digit.
- python-stdnum: Luhn and Luhn mod NThe check-digit method we compare our own code against.
- Protean eGov Technologies: what the 10 characters of a PAN meanThe holder-type letters in a PAN's fourth place.
- Wikipedia: Permanent account numberThe same holder-type letters, and what the other PAN characters stand for.
- TaxAdda: GST number format and structureA public explainer for C and D (tax collectors and deductors) in the 14th place.
The flyer gives no detail on characters 13 and 14, which is why those rest on the public references. The e-invoice schema accepts any letter or digit in the 14th place, so an unusual 14th character gets a note, not an error. If you spot a mistake, the accuracy policy says how to report it and how corrections are logged.
FAQ
GSTIN questions
What is a GSTIN?
A GSTIN is the 15-character GST identification number that India's GST system gives to a registered taxpayer. A business registered in several states gets a separate GSTIN for each one, because GST has no single registration for units in different states. You will usually find it on a supplier's invoices.
What do the 15 characters of a GSTIN mean?
Characters 1 and 2 are the state or UT code. Characters 3 to 12 are the PAN of the holder. Character 13 is the entity number, which counts the registrations under that PAN in that state (usually 1 to 9, then A to Z). Character 14 is usually the letter Z. Character 15 is a check digit worked out from the first 14. The GST Council's flyer describes the state code, the PAN, an entity code and a check sum; the finer points on the 13th and 14th characters come from public references.
Can this page tell me whether a GSTIN is active?
No. It only checks how the number is written. A GSTIN that passes is correctly formed; that does not show it is registered, active, suspended or cancelled, or whose it is. Use Search Taxpayer on the GST portal for that. It asks for a captcha and, without logging in, shows details such as the legal name, trade name, registration date and cancellation date where one applies. This page never contacts the portal.
Why does my GSTIN fail the check?
Usually a character was mistyped or two neighbours were swapped, the number was copied with a character missing or added, or the document it came from has a typing mistake. The result lists the positions that break the layout. If the layout is fine but the check digit does not match, at least one character is not what it should be, and this page cannot say which one. Copy the number again from the invoice or the registration certificate instead of guessing.
Is the 14th character always Z?
Most GSTINs have Z there, and the python-stdnum documentation describes it as fixed. Public explainers also say that C and D are used for tax collectors and tax deductors, and the government's e-invoice API schema takes any letter or digit in that place. So this page treats any other character in the 14th place as unusual, shows a note, and lets the check digit decide. It does not call a number wrong for that alone.
How do I find the PAN from a GSTIN?
Take characters 3 to 12. In the sample 27AAAAA0000A1Z2 that is AAAAA0000A. The fourth letter of the PAN, which is the sixth character of the GSTIN, shows the holder type: P for an individual, C for a company, F for a firm or LLP, H for a Hindu undivided family, T for a trust, and A, B, G, J or L for the other types. For a sole proprietor, the PAN inside the GSTIN is the owner's personal PAN.
What is the regex for GST number validation?
For the layout this page checks, use ^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z][0-9A-Z]{3}$ on the upper-case number: two digits, five letters, four digits, one letter, a digit or a letter, then two more letters or digits. It is written for the usual PAN-based GSTINs: special identifiers, such as a tax deductor registered on a TAN, can follow another layout. It does not insist on a Z in the 14th place, because some GSTINs carry C or D. A pattern cannot check the last character: that comes from the first 14 by the Luhn mod 36 method, so it takes a small calculation, not a pattern. A pattern also cannot tell you whether the state code is on the list or whether the GSTIN is registered.
Does "GST number" mean the same in Canada, Australia or New Zealand?
No. This page reads India's 15-character GSTIN and nothing else. Canada's GST/HST account number is a 9-digit business number followed by RT and a 4-digit reference. New Zealand's GST number is the same as the IRD number. In Australia, a business's GST registration is listed on ABN Lookup. This page checks none of those, so use the tax authority's own tools.
Is the GSTIN I type sent anywhere?
No. The check runs in your browser. Nothing you type or paste is uploaded, saved in your browser, put in the web address or reported to analytics, and the page does not contact the GST portal. The one link that leaves this page goes to the portal and carries no number. Results disappear when you close or reload the page.
Related
Related tools and guides
- GST invoice generatorMake a GST tax invoice you can send as a PDF.
- GST credit note generatorCorrect an invoice you have already issued.
- GST debit note generatorAdd tax to an invoice that was billed too low.
- Amount in words converterWrite the invoice total in words, in English or Hindi.
- GST calculatorAdd or remove GST and split CGST, SGST or IGST.
- GSTIN in the glossaryA short definition with related terms.
- Invoices and merchant documentsWhich document to send when, with a free generator for each.
- Quotation, estimate, invoice and receiptWhat each document carries, including GSTINs.