I’ve spent enough years on Indian highways to have picked up a strange little habit: I read number plates the way some people read book spines. A car goes past with “NL” on it and I know, before I’ve even registered the rest of the plate, that it’s travelled down from Nagaland, probably along NH-2 through Dimapur and into the plains. A “GA” plate parked outside a Pune apartment tells its own small story — someone who moved cities and never quite got around to re-registering the car. Once you know how to read them, RTO codes turn every parking lot into a slightly nosy little atlas of the country.
For anyone who isn’t already fluent in this, here’s the short version: every vehicle registered in India carries a registration mark that starts with a state or Union Territory code — two letters, like MH for Maharashtra or DL for Delhi — followed by a district or RTO office number, and then the vehicle’s own unique digits and series letter. The Regional Transport Office (RTO), functioning under India’s Ministry of Road Transport and Highways, is the body that actually issues these. With more than 1,300 RTO and ARTO offices spread across the country’s 28 states and 8 Union Territories, the system is bigger than most people realise — so here’s the full state-wise breakdown, region by region, along with the detail behind a few of the codes that come up most often.
Must Read: Mumbai, Maharashtra Pin Codes – Mumbai Postal Index Number Code (Pincodes)
How to Actually Read a Number Plate
A standard Indian number plate follows this structure: State Code + RTO District Code + Series Letters + Unique Number — for example, MH 12 AB 1234. MH is Maharashtra, 12 is the Pune RTO, AB is the series in use at that office, and 1234 is the vehicle’s own number. Since 2021, India has also introduced the Bharat Series (BH) plate — YY BH #### XX format — which lets vehicles owned by transferable government or private-sector employees move between states without re-registration, a genuinely useful fix for a country where relocation used to mean paperwork at both ends.
One quick caveat before the tables: individual district-level RTO numbers (the “01,” “12,” “32” part) do get added or renumbered occasionally as states create new districts, so for a specific office code, always cross-check with the official Parivahan Sewa portal (parivahan.gov.in) before relying on it for anything official.
Master Table: RTO Codes for All Indian States and Union Territories
| State / Union Territory | RTO Code | Capital | Region |
|---|---|---|---|
| Andhra Pradesh | AP | Amaravati | South |
| Arunachal Pradesh | AR | Itanagar | Northeast |
| Assam | AS | Dispur | Northeast |
| Bihar | BR | Patna | East |
| Chhattisgarh | CG | Raipur | Central |
| Goa | GA | Panaji | West |
| Gujarat | GJ | Gandhinagar | West |
| Haryana | HR | Chandigarh | North |
| Himachal Pradesh | HP | Shimla | North |
| Jharkhand | JH | Ranchi | East |
| Karnataka | KA | Bengaluru | South |
| Kerala | KL | Thiruvananthapuram | South |
| Madhya Pradesh | MP | Bhopal | Central |
| Maharashtra | MH | Mumbai | West |
| Manipur | MN | Imphal | Northeast |
| Meghalaya | ML | Shillong | Northeast |
| Mizoram | MZ | Aizawl | Northeast |
| Nagaland | NL | Kohima | Northeast |
| Odisha | OD | Bhubaneswar | East |
| Punjab | PB | Chandigarh | North |
| Rajasthan | RJ | Jaipur | North |
| Sikkim | SK | Gangtok | Northeast |
| Tamil Nadu | TN | Chennai | South |
| Telangana | TS | Hyderabad | South |
| Tripura | TR | Agartala | Northeast |
| Uttar Pradesh | UP | Lucknow | North |
| Uttarakhand | UK | Dehradun | North |
| West Bengal | WB | Kolkata | East |
| Andaman & Nicobar Islands (UT) | AN | Port Blair | South |
| Chandigarh (UT) | CH | Chandigarh | North |
| Dadra & Nagar Haveli and Daman & Diu (UT) | DD | Daman | West |
| Delhi (UT) | DL | New Delhi | North |
| Jammu & Kashmir (UT) | JK | Srinagar / Jammu | North |
| Ladakh (UT) | LA | Leh | North |
| Lakshadweep (UT) | LD | Kavaratti | South |
| Puducherry (UT) | PY | Puducherry | South |
The North: Where Plates Carry the Most History
This is the belt where RTO codes get genuinely political — Jammu & Kashmir’s JK and the newer Ladakh’s LA are a direct paper trail of the 2019 bifurcation, and Chandigarh’s CH plates are a daily reminder that the city serves as joint capital for both Punjab and Haryana without technically belonging to either.
| City | State | RTO Code |
|---|---|---|
| New Delhi (South Delhi) | Delhi | DL-01 |
| Gurugram | Haryana | HR-26 |
| Chandigarh | Chandigarh (UT) | CH-01 |
| Jaipur | Rajasthan | RJ-14 |
| Lucknow | Uttar Pradesh | UP-32 |
| Shimla | Himachal Pradesh | HP-01 |
| Dehradun | Uttarakhand | UK-07 |
Delhi is its own small universe here — the city alone runs numbered zones from DL-01 through to the high-teens and beyond, covering everything from South and North Delhi to Rohini and Dwarka, which is roughly why Delhi traffic police can usually tell which part of the city a car is from within a glance.
The West: Mumbai, Pune, and the Coastline Beyond
Maharashtra alone has one of the largest RTO networks in the country, simply because of how many people and vehicles the state carries.
| City | State | RTO Code |
|---|---|---|
| Mumbai (City) | Maharashtra | MH-01 |
| Pune | Maharashtra | MH-12 |
| Ahmedabad | Gujarat | GJ-01 |
| Surat | Gujarat | GJ-05 |
| Panaji | Goa | GA-01 |
| Silvassa | DNH & DD (UT) | DD-01 |
Anyone who’s spent time in Pune will already know MH-12 and MH-14 as well as they know their own PIN code — the city outgrew its first RTO code decades ago and now runs multiple offices across its expanding suburbs.
The South: The Region With the Newest Numbering Story
Telangana’s TS code is the youngest full state code on this list, created only after the 2014 split from Andhra Pradesh — before that, every vehicle in Hyderabad carried an AP plate.
| City | State | RTO Code |
|---|---|---|
| Bengaluru | Karnataka | KA-01 |
| Chennai | Tamil Nadu | TN-01 |
| Hyderabad | Telangana | TS-09 |
| Kochi | Kerala | KL-07 |
| Thiruvananthapuram | Kerala | KL-01 |
| Puducherry | Puducherry (UT) | PY-01 |
The East and Northeast: The Least Talked-About Corner of the System
This is the part of India where RTO codes are least discussed but arguably the most interesting to me personally, because the northeastern states each run comparatively small, tight-knit RTO networks — a handful of offices per state rather than dozens.
| City | State | RTO Code |
|---|---|---|
| Kolkata | West Bengal | WB-01 |
| Patna | Bihar | BR-01 |
| Ranchi | Jharkhand | JH-01 |
| Bhubaneswar | Odisha | OD-05 |
| Guwahati | Assam | AS-01 |
| Shillong | Meghalaya | ML-05 |
| Agartala | Tripura | TR-01 |
| Imphal | Manipur | MN-01 |
Central India: The Quiet Middle
Madhya Pradesh and Chhattisgarh don’t get talked about much in this conversation, largely because their RTO networks are more evenly spread across mid-sized cities than concentrated in one or two metros.
| City | State | RTO Code |
|---|---|---|
| Bhopal | Madhya Pradesh | MP-04 |
| Indore | Madhya Pradesh | MP-09 |
| Raipur | Chhattisgarh | CG-04 |
Why Any of This Actually Matters
Beyond the trivia of it, RTO codes have real, practical uses — they’re the fastest way to verify where a used car actually comes from before you buy it, they matter for insurance claims and RC verification, and if you’re relocating for work, they’re the reason you’ll eventually need to either re-register your vehicle in the new state or apply for a Bharat Series plate to skip that process altogether. For a country this large, with this many states and this much internal movement, it’s a remarkably tidy little system — thirty-six codes doing the work of keeping track of a country that never quite stops moving.

[…] Must Read: RTO Codes by State […]