Skip to main content
Interactive tool · AP master data cleanup · GSTR-2B recon prep · India

Vendor GSTIN Bulk Validator

Paste any list of vendor GSTINs (one per line, comma-separated, or CSV with a GSTIN column and an optional vendor-name column) and get a pass/fail per row with the specific failure reason. Four format checks in a single browser pass: length (must be exactly 15 characters), state code (positions 1–2 must be one of the 38 valid state or UT codes plus 97/99 for special jurisdictions), embedded PAN (positions 3–12 must match the ABCDE1234F pattern with a valid entity-type letter at position 6), and the base-36 modulo-36 checksum digit at position 15. Decoded state name, extracted PAN and decoded entity type per row; aggregate summary with per-failure-type breakdown at the top; download results as CSV or copy the failure rows to clipboard. Entirely client-side — no GSTIN, no vendor name, no data leaves your browser. Free.

Important — format and checksum only, not live status

This tool validates the GSTIN format and checksum only — the 15-character structure, valid state code, valid embedded PAN pattern with entity-type letter, and the base-36 modulo-36 checksum digit at position 15. It does NOT verify the current active status of a GSTIN on the GSTN portal (cancellation, suspension, composition-scheme migration, filing status, trade name, place of business, or any other live registration attribute). A well-formed GSTIN that passes every check on this tool may still be cancelled, suspended or under composition scheme — in which case invoices raised against it may not carry ITC-eligible tax. For the definitive live-status check, use the GSTN Search Taxpayer service at gst.gov.in/services/taxpayer-search (or a GSP-integrated equivalent). Format-first cleanup catches roughly 80 per cent of AP master data GSTIN errors ahead of the portal round-trip; the remaining 20 per cent require the live check.

Illustrative — the sample data below and all outputs are illustrative and provided to demonstrate the validator's behaviour. This tool is not a substitute for the AP team's own vendor onboarding SOP, the tax team's live-status verification against the GSTN Search Taxpayer service, the internal-audit team's periodic vendor master data review, or the statutory auditor's Section 143(3) attention to related-party transactions and vendor-master integrity. Every vendor GSTIN that goes into the ERP vendor master, the bank payment file, the e-invoice header or the e-way bill part-A must clear both the format check (this tool) and the live-status check (gst.gov.in Search Taxpayer or GSP-integrated equivalent).

Paste vendor GSTIN list
1. Input mode
2. GSTIN list
The validator handles up to a few thousand GSTINs per run comfortably. For a full ERP vendor master extract (tens of thousands of vendors), split the paste into smaller batches or move to the production TransactIG vendor-master-cleanup workflow (linked below). All processing is client-side; nothing is transmitted.
Validation summary
Total rows
Pass rate
Valid
Invalid
Paste a list on the left and click Validate list. Or click Load sample data to populate a mixed set of ten illustrative GSTINs (valid and invalid).
Failure-type breakdown
Length not 15 characters 0
State code invalid 0
Embedded PAN format wrong 0
Checksum mismatch 0
Warning — entity type unrecognised 0
A single row may trip more than one failure category (e.g. wrong length AND bad state code) — the breakdown counts each failure independently, so the sum can exceed the invalid-row count.
Export
Export enables once you validate a list.

Per-row results

Validation results will appear here as a colour-coded table once you paste a list and click Validate list. Pass rows are green, fail rows are red, and rows that pass the four format checks but carry an unrecognised entity-type letter at position 6 of the GSTIN are amber (informational warning only, not a hard fail).
Illustrative-utility disclaimer. This tool is a client-side format-and-checksum validator provided as a free public utility for AP master data cleanup, new-vendor onboarding gating and monthly GSTR-2B reconciliation prep. All input processing runs entirely inside your browser; no GSTIN, vendor name or other input value is transmitted to any Terra Insight server, GSP endpoint, GSTN portal or third-party service. A pass on this tool means the GSTIN's structure and checksum are correct; it does NOT prove that the GSTIN is currently active, non-cancelled, non-suspended, or that the taxpayer is regular-scheme (rather than composition-scheme). The definitive live-status check must be run against the GSTN Search Taxpayer service at gst.gov.in or via a GSP-integrated live-status API. This tool is not a substitute for the AP team's vendor onboarding SOP, the tax team's live-status verification, the internal-audit team's periodic vendor master review or the statutory auditor's Section 143(3) attention. Terra Insight is a reconciliation-software company, not a GSP, tax filer or e-invoice / e-way bill portal.

What this tool catches, what it misses

What this catches (four format checks)
  • Length errors — GSTIN not exactly 15 characters (commonly 14 from copy-paste truncation, or 16 from an accidentally-appended trailing character).
  • State code errors — positions 1–2 not in the valid state-code list (commonly hand-typed '42' or '00' or a misread from a scanned PDF invoice).
  • Embedded PAN format errors — positions 3–12 not matching the ABCDE1234F pattern (commonly OCR confusion between O and 0, I and 1, S and 5, B and 8, or a scanner mis-recognising a letter in the alphabetic slots or a digit in the numeric slots).
  • Checksum errors — position 15 not matching the computed base-36 modulo-36 checksum (a single-character transposition or substitution in one of the first fourteen positions that the human eye missed on data entry).
What this misses (needs live GSTN portal)
  • Cancellation — well-formed GSTIN belonging to a taxpayer who cancelled registration or was cancelled by the tax authority for non-filing.
  • Suspension — well-formed GSTIN under suspension pending revocation for a filing or compliance default.
  • Composition scheme status — well-formed GSTIN belonging to a composition-scheme taxpayer whose invoices do not carry ITC-eligible tax.
  • Place-of-supply mismatch — a well-formed Karnataka (29) GSTIN raising an invoice with a Maharashtra (27) place-of-supply.
  • Trade name / PAN cross-reference — a well-formed GSTIN whose trade name on the GSTN portal record differs from the trade name on the invoice, or whose embedded PAN does not match the PAN separately declared by the vendor.
  • Counterfeit — a fully-fabricated well-formed GSTIN designed to pass format checks but not registered on the GSTN portal at all.

GSTIN state-code reference (positions 1–2)

Thirty-eight state and UT codes plus two special-jurisdiction codes. Andhra Pradesh (28 legacy, 37 residual), Daman & Diu (25 legacy, 26 merged) and Ladakh (38, post-2019 bifurcation of J&K) are the recent structural changes the AP team most commonly encounters on legacy invoices.

Code Short State / Union Territory
01 JK Jammu & Kashmir
02 HP Himachal Pradesh
03 PB Punjab
04 CH Chandigarh (UT)
05 UK Uttarakhand
06 HR Haryana
07 DL Delhi (NCT)
08 RJ Rajasthan
09 UP Uttar Pradesh
10 BR Bihar
11 SK Sikkim
12 AR Arunachal Pradesh
13 NL Nagaland
14 MN Manipur
15 MZ Mizoram
16 TR Tripura
17 ML Meghalaya
18 AS Assam
19 WB West Bengal
20 JH Jharkhand
21 OD Odisha
22 CG Chhattisgarh
23 MP Madhya Pradesh
24 GJ Gujarat
25 DD Daman & Diu (legacy, pre-merger)
26 DN&DD Dadra & Nagar Haveli and Daman & Diu (merged UT, 2020)
27 MH Maharashtra
28 AP-legacy Andhra Pradesh (pre-bifurcation, still valid on legacy GSTINs)
29 KA Karnataka
30 GA Goa
31 LD Lakshadweep (UT)
32 KL Kerala
33 TN Tamil Nadu
34 PY Puducherry (UT)
35 AN Andaman & Nicobar Islands (UT)
36 TG Telangana (post-2014 bifurcation)
37 AP Andhra Pradesh (post-2014 residual state)
38 LA Ladakh (post-2019 UT bifurcation of J&K)
97 OT Other Territory (offshore beyond 12 NM territorial waters)
99 CT Centre Jurisdiction (SEZ units and certain central-admin categories)

How the GSTIN checksum works (base-36 modulo-36)

The GSTIN checksum at position 15 uses a base-36 modulo-36 arithmetic over the first fourteen characters. The character set is the thirty-six-symbol base-36 alphabet (0–9 mapping to 0–9, A–Z mapping to 10–35). Step by step:

  1. For each of the fourteen characters at positions 1 through 14, look up its base-36 numeric value.
  2. Multiply by a factor of 1 if the position is odd (1, 3, 5, 7, 9, 11, 13) or 2 if the position is even (2, 4, 6, 8, 10, 12, 14).
  3. For each product, split into the quotient and remainder when divided by 36, then add quotient + remainder (equivalent to summing the two 'digits' of the product expressed in base 36).
  4. Sum these fourteen adjusted values.
  5. Compute the sum modulo 36.
  6. Subtract from 36.
  7. Apply modulo 36 again (handles the edge case where the sum is exactly divisible by 36).
  8. Map the result back to the base-36 alphabet (0–9 stays 0–9, 10–35 becomes A–Z).

Base 36 is used rather than base 10 because the input alphabet itself is alphanumeric; a base-10 checksum would only detect errors in the four numeric positions inside the GSTIN and would miss single-character transposition errors in the ten alphabetic positions. Base-36 modulo-36 with alternating factors 1 and 2 catches every single-character substitution error and the vast majority of two-character transposition errors — a strong error-detection profile for a fifteen-character identifier that is manually typed and copy-pasted across supplier invoices, purchase orders, e-invoices, e-way bills, GST returns, bank payment files and ERP vendor masters.

A valid checksum does not prove that the GSTIN is currently active on the GSTN portal. A GSTIN can be structurally valid (correct length, valid state code, valid PAN embedded, correct checksum) but be cancelled, suspended, or belong to a composition-scheme taxpayer whose invoices do not carry ITC-eligible tax. The live-status check on the GSTN Search Taxpayer service is the definitive answer on registration status; format validation is the first-pass gate that catches roughly 80 per cent of AP master data GSTIN errors before they hit the live-status round-trip.

Related

Insight

TDS PAN validation mismatch India

The parallel PAN-format walk-through — PAN structure, entity-type letter, PAN checksum, and TDS Section 206AA higher-rate consequences of an invalid or missing vendor PAN on the TRACES portal.

Playbook

Vendor GSTR-1 follow-up letter templates

The escalation letter set for chasing a vendor whose GSTR-1 invoice does not appear in your GSTR-2B — the downstream process after the format check clears and the live-status check either passes or exposes a filing gap.

Playbook

Monthly close reconciliation playbook

The end-to-end monthly-close reconciliation sequence — where vendor GSTIN format cleanup sits inside the GSTR-2B, ITC, TDS, bank and inter-company reconciliation calendar.

Resource

Three-way ITC reconciliation workbook

The purchase register × GSTR-2B × books three-way ITC reconciliation workbook — the format-and-checksum GSTIN pass on the purchase register is the pre-condition to running the three-way match against GSTR-2B.

Money page

GST Reconciliation Software

The production surface behind the GSTR-2B and ITC reconciliation workflow — vendor GSTIN validation, GSTR-1 vs GSTR-2B matching, ITC ineligible detection, DRC-01B/01C response handling.

Money page

Reconciliation Software India

The umbrella product page — the full reconciliation surface across GST, TDS, NACH, bank, platform-settlement, inter-company and vendor master data.

Frequently Asked Questions

What is a GSTIN, how are the fifteen characters structured, and why is a format-and-checksum-only validator useful for the AP team when the definitive live-status check requires a gst.gov.in Search Taxpayer round-trip anyway? +

A GSTIN (Goods and Services Tax Identification Number) is the fifteen-character alphanumeric identifier assigned to every entity registered under the CGST Act 2017 read with the SGST/UTGST Acts of the respective state or union territory. The structure is precisely defined: positions 1 to 2 carry the two-digit numeric state code assigned under the Indian Census 2011 state list (01 for Jammu & Kashmir through 38 for Ladakh, plus 97 for Other Territory and 99 for Centre Jurisdiction); positions 3 to 12 carry the ten-character Income-tax PAN of the registered taxpayer (the standard PAN format ABCDE1234F, where position 4 of the PAN is the entity-type letter — C for Company, P for Individual, H for Hindu Undivided Family, F for Firm or LLP, A for Association of Persons, T for Trust, B for Body of Individuals, L for Local Authority, J for Artificial Juridical Person, G for Government); position 13 is the entity-number-in-state indicator (1 through 9 for the first nine registrations by the same PAN in the same state, then A through Z for the tenth through thirty-fifth registration); position 14 is by GSTN convention 'Z' as a fixed default (some historical variants exist); and position 15 is a checksum digit computed by a base-36 modulo-36 algorithm over the first fourteen characters. A format-and-checksum-only validator run entirely in the browser catches structural errors ahead of a live portal round-trip: length wrong (14 or 16 characters entered instead of 15 — commonly a copy-paste truncation from an Excel row); state code invalid (a hand-typed '42' or '00' or a misread from a scanned invoice); PAN format broken (position 6 not a letter, or one of positions 8-11 not a digit — commonly a scanner OCR error confusing O and 0 or I and 1); and checksum mismatch (a single-digit typo in an otherwise-well-formed GSTIN). Format-first cleanup catches roughly 80 per cent of AP master data GSTIN errors in a single browser pass; the live-status check on the remaining 20 per cent (correctly-formed GSTINs that may still be cancelled, suspended, or belong to a taxpayer under composition scheme without ITC eligibility) is then run against the GSTN Search Taxpayer service or via a GSP-integrated API. The distinction matters at the AP vendor onboarding gate: a format failure means the vendor's own paperwork is wrong (return to sender for correction); a live-status failure means the vendor is technically well-formed but not fit to raise a tax invoice with ITC-eligible IGST/CGST/SGST for the current period.

How does the GSTIN checksum algorithm work, why is it a base-36 modulo-36 computation rather than a base-10 checksum, and can a valid checksum still fail the live gst.gov.in status check? +

The GSTIN checksum at position 15 uses a base-36 modulo-36 arithmetic over the first fourteen characters of the GSTIN. The character set is the thirty-six-symbol base-36 alphabet (0-9 mapping to 0-9, A-Z mapping to 10-35). The step-by-step computation is: (i) for each of the fourteen characters in positions 1 through 14, look up the base-36 numeric value; (ii) multiply by a factor of 1 if the position is odd (1, 3, 5, 7, 9, 11, 13) or a factor of 2 if the position is even (2, 4, 6, 8, 10, 12, 14); (iii) for each product, if the product exceeds 35, split into the quotient and remainder when divided by 36 and add the quotient plus remainder (equivalent to summing the two 'digits' of the product expressed in base 36); (iv) sum these fourteen adjusted values; (v) compute the modulo 36 of the sum; (vi) subtract from 36; (vii) apply modulo 36 again (to handle the edge case where the sum is exactly divisible by 36, in which case the checksum is 0 not 36); (viii) map the result back to the base-36 alphabet (0-9 remains 0-9, 10-35 becomes A-Z). Base 36 is used rather than base 10 because the input alphabet itself is base-36 (alphanumeric); a base-10 checksum would only detect errors in the four numeric positions inside the GSTIN and would miss single-character transposition errors in the ten alphabetic positions. Base-36 modulo-36 with alternating factors 1 and 2 catches all single-character substitution errors and the vast majority of two-character transposition errors — a strong error-detection profile for a fifteen-character identifier that is manually typed and copy-pasted across supplier invoices, purchase orders, e-invoices, e-way bills, GST returns, bank payment files and ERP vendor masters. A valid checksum, however, does NOT prove that the GSTIN is currently active on the GSTN portal. A GSTIN can be structurally valid (correct length, valid state code, valid PAN embedded, correct checksum) but be in one of several 'live-status-fail' regimes: cancelled at the taxpayer's request or by the tax authority for non-filing; suspended pending revocation proceedings; migrated to composition scheme (in which case invoices raised do not carry ITC-eligible IGST/CGST/SGST); belonging to an inactive TAN-only registrant; or belonging to a person whose registration is under application-in-progress but not yet approved. Only the live GSTN portal Search Taxpayer API (or a GSP-integrated equivalent) returns the current registration status, the trade name, the taxpayer type, the constitution of business, the date of registration, the date of cancellation if any, and the current filing status.

Which state codes are valid, why do Andhra Pradesh, Daman & Diu and Dadra & Nagar Haveli show two codes each, and how does the AP team handle a vendor GSTIN carrying the pre-2014 or pre-merger state code? +

The GSTIN state-code list at positions 1-2 tracks the Census of India state-and-UT numbering as revised over time. The current thirty-eight-entry list runs from 01 Jammu & 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, 14 Manipur, 15 Mizoram, 16 Tripura, 17 Meghalaya, 18 Assam, 19 West Bengal, 20 Jharkhand, 21 Odisha, 22 Chhattisgarh, 23 Madhya Pradesh, 24 Gujarat, 25 (formerly Daman & Diu, now merged), 26 Dadra & Nagar Haveli and Daman & Diu (merged UT effective 26-January-2020), 27 Maharashtra, 28 Andhra Pradesh (pre-June-2014 undivided-state code, still valid on legacy GSTINs), 29 Karnataka, 30 Goa, 31 Lakshadweep, 32 Kerala, 33 Tamil Nadu, 34 Puducherry, 35 Andaman & Nicobar Islands, 36 Telangana (post-June-2014 bifurcation of undivided Andhra Pradesh), 37 Andhra Pradesh (post-June-2014 residual state), 38 Ladakh (bifurcation of Jammu & Kashmir, effective 31-October-2019); plus 97 Other Territory (offshore areas beyond the twelve-nautical-mile territorial waters); plus 99 Centre Jurisdiction (SEZ units under central administration and certain other categories). Andhra Pradesh carrying two codes (28 and 37) is a legacy artefact of the June-2014 bifurcation that created Telangana as a separate state: GSTINs registered in undivided AP before June 2014 that migrated to GST at go-live on 01-July-2017 retain the 28 code; new registrations in the residual AP state since then carry 37. The same principle applies to the Daman & Diu / Dadra & Nagar Haveli merger — 25 was the standalone Daman & Diu code, and 26 is the code for the merged UT of Dadra & Nagar Haveli and Daman & Diu; legacy 25-code GSTINs remain valid and continue to appear on invoices from pre-merger registrants. Ladakh at 38 is the newest addition, effective the October-2019 bifurcation of Jammu & Kashmir into two Union Territories. The AP team handling a vendor GSTIN with the legacy 28 (pre-bifurcation AP) code should treat it as valid on format but flag for a manual live-status check — the vendor may still be operating from a location that has since migrated to the 37 (residual AP) or 36 (Telangana) state code and updated their GSTIN accordingly, in which case the invoice on file may itself be stale.

What exactly does this tool catch versus what does it miss, and how should the AP team position it inside the monthly GSTR-2B reconciliation workflow and the vendor onboarding gate? +

The tool catches four categories of GSTIN error at the format layer: (i) length errors — GSTIN not exactly fifteen characters (commonly 14 from copy-paste truncation, or 16 from an accidentally-appended trailing character); (ii) state code errors — positions 1-2 not in the valid state-code list (commonly hand-typed '42' or '00' or '11' misread from a scanned PDF invoice where the actual code was different); (iii) PAN format errors — positions 3-12 not matching the ABCDE1234F pattern (commonly OCR confusion between O and 0, I and 1, S and 5, B and 8, or a scanner mis-recognising a letter in the alphabetic slots or a digit in the numeric slots); (iv) checksum errors — position 15 not matching the computed base-36 modulo-36 checksum (commonly a single-character transposition or substitution in one of the first fourteen positions that the human eye missed on data entry). The tool does NOT catch: (a) live cancellation status (a well-formed GSTIN belonging to a taxpayer who cancelled their registration or was cancelled by the tax authority for non-filing); (b) composition scheme status (a well-formed GSTIN belonging to a composition-scheme taxpayer whose invoices do not carry ITC-eligible tax); (c) suspension pending revocation (a well-formed GSTIN under suspension for a filing or compliance default); (d) mismatch between the state code embedded in the GSTIN and the place-of-supply address on the invoice (a well-formed Karnataka GSTIN raising an invoice with a Maharashtra place-of-supply); (e) mismatch between the PAN embedded in the GSTIN and the PAN separately declared by the vendor (fraud or vendor-master corruption); (f) trade name mismatch (the trade name on the invoice differing from the trade name on GSTN portal record); (g) counterfeit — a fully-fabricated well-formed GSTIN designed to pass format checks. Positioning inside the workflow: run this tool as the first-pass gate on any new vendor onboarding (before the vendor is created in the ERP vendor master), on any monthly AP master data cleanup sweep (before the accounts payable team commits the vendor GSTIN into a bank payment file or e-way bill), and on any GSTR-2A/2B reconciliation exception list (to distinguish format-fail rows that need to go back to the vendor for a corrected invoice from live-status-fail rows that need to be flagged for the tax team's live-status verification against the GSTN Search Taxpayer service at gst.gov.in). See the linked GSTR-1 vendor follow-up template and the monthly-close reconciliation playbook for the downstream process once the format cleanup is complete.

Is any of the data pasted into this tool sent to a Terra Insight server or logged anywhere, and does this tool require any GSP integration, API subscription or authentication? +

No. The tool is a purely client-side JavaScript utility bundled into a static HTML page. All input processing (parsing the pasted GSTIN list, running the four format checks per row, computing the base-36 checksum, decoding state codes and entity types, producing the results table, generating the CSV download and clipboard copy) happens entirely inside the visitor's browser. No GSTIN, no vendor name, no other input value is transmitted to any Terra Insight server, any Terra Insight logging endpoint, any GSTN portal, any GSP endpoint, or any third-party analytics or telemetry service. Closing or refreshing the browser tab clears all inputs and outputs from memory; nothing is persisted to browser local storage or cookies. The tool does not require any account, any authentication, any GSP integration, any API subscription, any registration, or any lead-form fill; it is provided as a free public-utility asset. Terra Insight is a reconciliation-software company; the live-status GSTIN verification, GST return filing, e-invoice generation, e-way bill generation, and the underlying gst.gov.in GSP integrations are separate categories of the GST ecosystem handled by GST Suvidha Provider infrastructure — Terra Insight ingests the output of those workflows into the reconciliation surface but does not itself act as a GSP. If your team wants to move from a browser-based single-list validator to a scheduled AP master data cleanup workflow embedded in your ERP vendor-master lifecycle (with change-data-capture on vendor updates, an operational audit trail of every GSTIN change, and downstream propagation into the GSTR-2B reconciliation exception queue), that is the production surface the TransactIG platform operates on — reach out via the linked contact form to discuss.

From a browser-based one-off GSTIN validator to a production vendor-master-cleanup workflow

TransactIG operates the recurring vendor-master reconciliation surface behind the AP team — format-and-checksum GSTIN validation as a scheduled sweep, change-data-capture on every vendor GSTIN update, live-status verification via GSP integration, downstream propagation of format-fail and live-status-fail rows into the GSTR-2B reconciliation exception queue, and an operational audit trail suitable for the internal-audit team and the statutory auditor. ISO 27001:2022 certified, AWS Mumbai, DPDP Act 2023 aligned, implementation two to four weeks.

Request a Demo GST Reconciliation Software →