GST State Code Finder
Type a code to get the state, type a state to get the code, or paste a whole GSTIN and we will pull the state out of it. All 41 codes, including the legacy and special jurisdiction ones.
Partial matches work in both directions — the usual two-letter abbreviations such as MH, TN and UP find the right row too, though they are not part of a GSTIN.
| Code | State / union territory | Type | Notes |
|---|---|---|---|
| 01 | Jammu and Kashmir | Union territory | A union territory since 31 October 2019. The code was assigned while it was a state and did not change at reorganisation. Because Jammu and Kashmir has a legislature, an intra-UT supply attracts SGST rather than UTGST. |
| 02 | Himachal Pradesh | State | |
| 03 | Punjab | State | Punjab administers from Chandigarh, but Chandigarh itself is a separate union territory carrying code 04. A business registered in Chandigarh city gets 04, not 03. |
| 04 | Chandigarh | Union territory | A union territory with no legislature, so an intra-UT supply attracts CGST + UTGST rather than CGST + SGST. Chandigarh is also the administrative capital of both Punjab and Haryana, which is a common source of confusion — the city has its own code. |
| 05 | Uttarakhand | State | |
| 06 | Haryana | State | Haryana administers from Chandigarh, which is itself union territory 04. A registration in Gurugram or Faridabad carries 06; one in Chandigarh city carries 04. |
| 07 | Delhi | Union territory | Delhi is a union territory with a legislature, so an intra-Delhi supply attracts CGST + SGST — not UTGST, despite the union territory status. This catches people out regularly. |
| 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 and Diu (merged) | Legacy | The pre-merger code for Daman and Diu, which merged with Dadra and Nagar Haveli on 26 January 2020 to form a single union territory. Code 25 is no longer issued for new registrations — the merged territory uses 26 — but it still appears on registrations granted before the merger and on historic invoices. |
| 26 | Dadra and Nagar Haveli and Daman and Diu | Union territory | Originally Dadra and Nagar Haveli alone. Since the 26 January 2020 merger with Daman and Diu, code 26 covers the combined union territory. It has no legislature, so an intra-UT supply attracts CGST + UTGST. |
| 27 | Maharashtra | State | |
| 28 | Andhra Pradesh (pre-bifurcation) | Legacy | The code for undivided Andhra Pradesh, from before the 2014 bifurcation that created Telangana. It is no longer issued: Telangana registrations use 36 and Andhra Pradesh registrations use 37. Code 28 still appears on registrations granted before the split, which is why it turns up in supplier master data. |
| 29 | Karnataka | State | |
| 30 | Goa | State | |
| 31 | Lakshadweep | Union territory | No legislature, so an intra-UT supply attracts CGST + UTGST rather than CGST + SGST. |
| 32 | Kerala | State | |
| 33 | Tamil Nadu | State | |
| 34 | Puducherry | Union territory | Puducherry has a legislature, so an intra-UT supply attracts CGST + SGST rather than UTGST — the same treatment as a state. |
| 35 | Andaman and Nicobar Islands | Union territory | No legislature, so an intra-UT supply attracts CGST + UTGST rather than CGST + SGST. |
| 36 | Telangana | State | Telangana was created on 2 June 2014 from the northern districts of undivided Andhra Pradesh, which held code 28. Registrations granted before the bifurcation may still carry 28. |
| 37 | Andhra Pradesh | State | The code issued to Andhra Pradesh after the 2014 bifurcation that created Telangana. Undivided Andhra Pradesh used code 28, which is no longer issued. |
| 38 | Ladakh | Union territory | The newest code in the list, created on 31 October 2019 when Jammu and Kashmir was reorganised into two union territories. Ladakh has no legislature, so an intra-UT supply attracts CGST + UTGST. |
| 96 | Other Country | Special | Used for a counterparty outside India, chiefly on OIDAR registrations and certain import scenarios. It is not a geographic state code. |
| 97 | Other Territory | Special | Used where the place of supply falls outside any state — most often India’s exclusive economic zone and other offshore areas. |
| 99 | Centre Jurisdiction | Special | Centre jurisdiction. Appears on some centre-administered registrations rather than as a geographic location. |
| No state code matches . Try just the first few letters of the state name. | |||
Showing 41 of 41 codes.
Only the first two characters are needed, so a partial number works. Nothing is sent anywhere.
Every GSTIN starts with two digits from the government's state code master. If the number in front of you starts with anything else, it is not a GSTIN — check it in the GSTIN validator.
Registered in
State code ·
Supplying to this counterparty from is an intra-state supply attracting CGST plus ; from anywhere else in India it is inter-state and attracts IGST. Work out the split.
This is a special jurisdiction code rather than a state, so the ordinary same-state test does not apply — work the place of supply out from the IGST Act rules for the transaction in front of you before deciding the tax head.
Where the state code sits, and what it commits you to
The state code is characters 1 and 2 of a GSTIN — always two digits, always the first thing in the number.
In 27AAACR5055K1Z7 it is
27, so that registration was granted by
Maharashtra. It is assigned at registration and it cannot be changed afterwards: a business that moves
state registers afresh there rather than amending the number it already has.
27AAACR5055K1Z7, split up
State code, then the entity's PAN, then the registration count for that PAN in that state, then the reserved Z, then the check digit. Only the highlighted part is a state code — the rest is covered in the GSTIN validator.
The practical consequence is the tax split. If the supplier's state code matches the place of supply, the transaction is intra-state and the tax is charged as CGST plus SGST — or CGST plus UTGST in a union territory without its own legislature, which is why Chandigarh, Lakshadweep, the Andaman and Nicobar Islands and the merged Dadra and Nagar Haveli and Daman and Diu behave differently from Delhi and Puducherry, both of which have legislatures and therefore charge SGST. If the codes differ, it is inter-state and the whole rate is charged as IGST.
The four codes that trip people up
Most of the table is uncontroversial. Four entries carry history, and every one of them shows up as a support ticket sooner or later.
25 26 Daman and Diu, and the 2020 merger
Dadra and Nagar Haveli and Daman and Diu were two separate union territories with two separate codes: 25 for Daman and Diu, 26 for Dadra and Nagar Haveli. They were merged into one union territory in January 2020, and 26 became the code for the merged entity — which is why the state code master now shows 26 as "Dadra and Nagar Haveli and Daman and Diu" and 25 as a merged-away entry. New registrations there get 26. A GSTIN beginning 25 is not invalid; it is simply old, and it will still pass every checksum test. If you are matching state names against codes in a database, make sure 25 does not silently drop out of your mapping table — that is the usual cause of an "unknown state" error on a legacy vendor record.
28 37 36 Andhra Pradesh, Telangana, and the 2014 bifurcation
Undivided Andhra Pradesh held code 28. When the state was bifurcated in 2014 to create Telangana, Telangana was assigned 36 and Andhra Pradesh was reassigned 37. So there are three codes in play for one historic territory: 28 on registrations that predate the split, 36 for Telangana, and 37 for Andhra Pradesh today. If a vendor master shows an Andhra Pradesh address against code 28, the record is not wrong — it is just from before 2014. The one thing you cannot do is assume 28 means the business is in present-day Andhra Pradesh; the registered address could be in either successor state.
96 97 99 The three codes that are not places
96 — Other Country. Used where the counterparty sits outside India. You will most often meet it on OIDAR registrations, where a foreign supplier of digital services to Indian consumers is registered under GST without having a physical presence here.
97 — Other Territory. Used where the place of supply is outside any state or union territory — India's exclusive economic zone, the continental shelf, and offshore installations such as oil rigs are the practical cases.
99 — Centre Jurisdiction. Not a geography at all. It denotes a centre-administered jurisdiction rather than a location, and you will rarely see it on an ordinary commercial invoice.
The reason these matter to anyone writing code is validation: a strict "state code must be between 01 and 38" rule will reject perfectly genuine GSTINs. Validate against the full master, which is what this tool and our GSTIN validator both do.
For the background on each code and how the list has changed over time, read the complete GST state code list. This page is the tool; that post is the explanation.
Where you will actually use this
Deciding CGST + SGST versus IGST on an invoice
Compare the first two characters of your GSTIN with the place of supply. Same code, intra-state; different code, inter-state. Get it wrong and your customer loses the credit in their state while you pay the tax twice before reclaiming it.
Cleaning a vendor master
Extract the first two characters of every GSTIN on file and map them to a state. Rows that fail to map are either typos or legacy codes 25 and 28 that your mapping table has dropped — both worth surfacing rather than silently ignoring.
Spotting an address that does not match the number
A GSTIN starting 27 belongs to a Maharashtra registration. If the invoice header shows a Gujarat address against it, either the address is a branch that is not the registered place of business, or something is wrong. A live lookup settles it.
Filing returns and e-way bills
The state code drives the place-of-supply field on GSTR-1 and the from/to state on an e-way bill. Both reject inconsistent state data, so it is cheaper to get the code right at data-entry time than at filing time.
The state code tells you which authority issued a registration. It cannot tell you whether that registration still exists, who holds it, or where the registered place of business actually is — for that you need the government record. Run a free GST number search to see the legal name, status, jurisdiction and filing history behind any GSTIN.
Doing this across a whole file? See bulk GST verification from a CSV, or the GSTIN format explained if you are writing the parser yourself.
Related free tools
GST number search
Look a GSTIN up against the government register — legal name, status, jurisdiction and return filing history.
GSTIN validator
Check any GST number’s format and check digit offline, with a character-by-character breakdown.
GST calculator
Add or remove GST at any rate, with the CGST, SGST and IGST split worked out for you.