Neweb / Free tools / GSTIN Validator

GSTIN Validator.

Paste any GSTIN. We validate the 15-character structure, decode the state, the PAN, the entity character, and the check digit. Runs entirely in your browser.

Validates structure and check digit per the official GSTIN format. Does not verify with GSTN portal; use the official portal for live status.

Sample output

What you'll get.

A real example of what this tool produces. Run it above with your own inputs.

27ABCDE1234F1Z5
Structurally valid. Breakdown below.
State code: 27
Maharashtra.
PAN: ABCDE1234F
The 10-character PAN of the registered entity.
Entity code: 1
First registration for this PAN in this state.
Check digit: 5
Matches the computed checksum, so the format is valid.
Sample breakdown. Paste any GSTIN above to validate its structure and checksum.

The GSTIN is the 15-character identifier the GST department issues to every registered business in India. It encodes the state, the underlying PAN, an entity counter, a default Z character, and a check digit. Customers and suppliers paste GSTINs into invoices, GSTR-1 filings, and e-way bills every day. A structurally wrong GSTIN survives surprisingly far through accounting workflows before someone notices, by which point the invoice has been booked, the GSTR-1 has been filed, and reconciliation has to be unwound across three quarters.

This tool catches structural errors at the moment of typing. Paste any GSTIN and the validator decodes the state, the PAN, the entity character, the default Z, and recomputes the check digit. Within a second you know whether the GSTIN is well-formed and which state it belongs to. Nothing leaves your browser; the validation runs entirely client-side using the official GSTIN check-digit algorithm.

How to use the gstin validator

  1. Type or paste the 15-character GSTIN into the input box. The field auto-uppercases, so you can paste lowercase or mixed-case values.

  2. Click Validate GSTIN. The result appears within a few hundred milliseconds.

  3. Read the breakdown. The validator shows the state code and full state name, the 10-character PAN embedded inside, the entity character (which is a registration counter), the default Z position, and the check digit.

  4. If the check digit matches, the GSTIN is structurally correct. If it does not, the GSTIN was typed wrong somewhere; recheck character by character.

  5. For absolute confirmation of live status (active, cancelled, suspended), use the official GSTN portal at gst.gov.in. This tool validates structure, not registration status.

  6. For repeat use, keep this tab bookmarked. Validating before invoicing prevents reconciliation pain later.

  7. If you maintain a list of customer GSTINs, run each one through the validator once a quarter as a hygiene check.

Why this matters for your business

Three reasons GSTIN validation belongs in every small-business invoicing workflow.

It blocks errors at the source. A typo in a GSTIN propagates downstream into your GSTR-1, your customer GSTR-2A reconciliation, and the customer ITC claim. The fix later involves issuing a credit note, raising a fresh invoice, and amending the GSTR-1. The fix at typing time is to recheck and re-enter.

It protects you from fraudulent invoices. Some sellers issue invoices with structurally invalid GSTINs hoping you will not notice. The customer claims ITC on these and faces denial during scrutiny. Quick validation at the receiving end protects you from chasing back disallowed credit.

It teaches you the format. Once you understand that the first two digits are the state and the next ten are a PAN, you start spotting errors by eye without needing the tool. A GSTIN starting with 28 for an Andhra business stands out as wrong (Andhra is now 37), as does a GSTIN whose embedded PAN does not look like a PAN. Structural intuition is a small superpower.

Tips for better results

  • Always validate a new customer GSTIN before sending the first invoice. Catching errors at onboarding is cheap.
  • Cross-check the state from the GSTIN against the address on the customer purchase order. If they disagree, ask before you invoice.
  • The PAN inside the GSTIN should match the PAN on file. They are the same legal entity.
  • If a check digit fails, do not just try a different one. Ask the customer to confirm in writing. Forged GSTINs sometimes have valid structure but wrong check digit.
  • Validate large lists of GSTINs in batches before each GSTR-1 filing. A few minutes of validation prevents days of amendment work.
  • Bookmark this page so it is always one tab away during invoicing.
  • For business-critical workflows, plug the official GSTN GSTIN search API into your billing system to verify live status, not just structure.

Example

A real-world walkthrough

A consultant invoices a new client and pastes the GSTIN 27ABCDE1234F1Z5. The validator returns: state 27 (Maharashtra), PAN ABCDE1234F, entity 1, default Z, check digit calculated as 5, matching. The result is a clean green panel: structurally valid.

Three weeks later, a different supplier sends an invoice with GSTIN 09ABCDE9999X1Z3. The consultant pastes it. The validator returns: state 09 (Uttar Pradesh), PAN ABCDE9999X, entity 1, default Z, check digit expected 7 but got 3. The result is an amber panel: structure ok, check digit mismatch. He emails the supplier asking for the correct GSTIN. Turns out the last character was typed wrong. He receives the corrected invoice, books it cleanly, and avoids a quarter-end reconciliation issue.

Frequently asked questions

Does this verify the GSTIN against the official GSTN database?

No, this tool validates the structure and the check digit of a GSTIN, but it does not query the live government database, so it cannot tell you whether a registration is currently active, cancelled or suspended. What it does is confirm that the 15-character number is well-formed: that the state code is real, that the embedded PAN follows the correct pattern, and that the final check digit computes correctly, which together catch the great majority of typos and fake numbers people enter. To confirm a supplier actual registration status, use the official search at gst.gov.in, where you type the GSTIN and see the legal name, the registration date and whether it is active. The smart workflow is to run a structural check here first, instantly and privately, to weed out obviously invalid numbers before you bother with the official portal, then verify the survivors on gst.gov.in before you claim input tax credit against their invoices, since credit on an invalid or cancelled GSTIN can be denied.

What is the check digit?

The check digit is the fifteenth and final character of a GSTIN, and it is not chosen freely; it is mathematically derived from the first 14 characters using a modulo-36 algorithm over the base-36 alphabet, which is the digits 0 to 9 plus the letters A to Z. Because it is computed from everything before it, the check digit acts as a built-in error detector: it is specifically designed to catch single-character typos and most transposition errors, the everyday mistakes someone makes keying a long number off an invoice, such as swapping two characters or mistyping one. If even one character in the GSTIN is wrong, the recomputed check digit will usually no longer match, and this tool flags the number as invalid. That is why a structural check is such a cheap, fast first line of defence: before you ever hit the government portal, the check digit alone exposes a large share of mistyped or fabricated GSTINs in a fraction of a second.

What does the entity character mean?

The entity character is the 13th character of the GSTIN, sitting just before the Z and the final check digit, and it indicates the registration sequence number for that particular PAN within that particular state. In plain terms, it counts how many GST registrations a single business entity, identified by its PAN, holds in one state. Most ordinary businesses have just one registration per state, so you will very commonly see a 1 here. A higher value, such as 2, 3 or a letter, appears when the same PAN holds multiple registrations in the same state, which happens with separate business verticals, or in cases of re-registration after an earlier registration was cancelled. It is a useful sanity signal: an unusually high entity character on a GSTIN you were not expecting it on is worth a second look, though on its own it is perfectly legitimate and simply reflects how that business has structured its registrations within the state.

Why is there always a Z at position 14?

Position 14, the second-to-last character, is almost always the letter Z because the GST format reserves that slot as a default placeholder for current normal registrations, which is what the overwhelming majority of GSTINs are. In other words, Z is the expected, standard value you should see there on a typical taxpayer GSTIN, so if you spot a different character in that position it is worth double-checking. The other possible letters at this position were set aside by the GST Council for future use, for instance to denote additional registration categories, but those alternatives have not been activated in general practice, so for everyday verification a Z is exactly what you want to see. This tool checks that position 14 holds the expected value as part of confirming the number is well-formed, which is another small structural signal that, combined with the state code, the embedded PAN pattern and the check digit, tells you whether a GSTIN someone gave you is plausibly genuine.

Are my GSTIN inputs sent to a server?

No, the GSTINs you check are never sent anywhere; all the validation logic runs entirely in your own browser. When you type or paste a number, the structural checks, the state code lookup, the embedded PAN pattern match, and the modulo-36 check-digit calculation all execute locally on your device, with no network request carrying your data to us or to any third party. That means you can safely paste in a long list of supplier or customer GSTINs to clean up before filing, without worrying that those business identifiers are being logged on someone else server. Because nothing leaves the page, the tool is also instant, with no waiting on a round trip to a server. The one thing to remember is that this on-device privacy comes hand in hand with the tool limitation: since it never contacts the government, it confirms only that a number is well-formed, not that the registration is live, for which you would visit gst.gov.in separately.

Why does my GSTIN show state 28 as old?

State code 28 is flagged as legacy because it originally belonged to undivided Andhra Pradesh, before the 2014 bifurcation that carved out the new state of Telangana. After that reorganisation, the GST state codes were realigned: Telangana was assigned code 36, and newly issued registrations in the reorganised Andhra Pradesh use code 37, while the old code 28 was effectively retired for fresh registrations. So when you see 28 on a GSTIN today, you are almost always looking at an older registration issued under the pre-bifurcation numbering that has simply carried forward, rather than a brand-new one. It is not invalid, it is just historical, which is why the tool notes it as legacy rather than rejecting it. If you are verifying a supplier in the Andhra or Telangana region and the state code surprises you, this context explains it: 28 is the old code, 36 is Telangana, and 37 is current Andhra Pradesh.

Can a GSTIN look valid but be cancelled?

Yes, absolutely, and this is the single most important limitation to understand. A GSTIN that has been cancelled or suspended by a GST officer does not change its characters, the 15-digit number stays exactly the same, so it still passes every structural test here: the state code is real, the embedded PAN is correctly formed, and the check digit still computes. This tool verifies that the number is well-formed, not that the underlying registration is still alive. That gap matters commercially, because if you claim input tax credit on an invoice from a supplier whose registration was cancelled, the credit can be disallowed and you bear the cost. So treat a green result here as necessary but not sufficient: it tells you the number is genuine in form, after which you should confirm the live status on gst.gov.in, especially before onboarding a new supplier, claiming significant credit, or whenever something feels off about a counterparty.

Does this also validate PAN?

It validates the PAN pattern embedded inside the GSTIN, but it is not a full PAN verification service. Every GSTIN contains the business 10-character PAN sitting in characters 3 through 12, and that PAN follows a fixed structure of five letters, then four digits, then one letter. This tool confirms that the embedded portion matches that standard pattern as part of judging whether the overall GSTIN is well-formed, which catches a mistyped or fabricated PAN within the number. What it does not do is check that PAN against the Income Tax Department records to confirm it actually belongs to a real, active taxpayer with a matching name. For that deeper confirmation, use the official PAN verification service offered through the Income Tax e-filing portal or an authorised KYC provider. In short, this gives you a fast structural sanity check on the PAN inside a GSTIN, and you escalate to the official PAN service only when you need legally authoritative identity confirmation.

All industries →  ·  Pricing  ·  All free tools

Your entire online presence, on one subscription.

All industries and more. Website, free domain, Google Business and SEO autopilot from ₹249/month.