Photo: Maria Kray / Pexels
Why India's Biggest Cities Have the Shortest STD Codes
Look closely at any Indian landline number and a quiet bit of arithmetic falls into place. Punch in the STD code without its leading zero, add the local number, and you will always land on exactly 10 digits. Delhi's code is 11 followed by an eight-digit number. A small town in Himachal might carry a four-digit code and a six-digit number. Different shapes, same total. That single rule explains why the country's largest cities ended up with the shortest dialling codes — and once you see it, you can't unsee it.
The 10-digit rule that governs everything
India runs what telecom planners call a closed numbering plan for landlines, anchored to a fixed length. The National Significant Number — the STD code plus the subscriber number, leaving out the trunk prefix — is always ten digits long. Nothing more, nothing less.
That constraint forces a trade-off. The more digits you hand to the area code, the fewer are left for the actual phone line, and vice versa. So the system became a kind of see-saw: a city that needs room for millions of individual lines gets a tiny code, while a town with a modest exchange gets a longer one and a shorter local number.
It isn't an accident or a quirk of history. It's a deliberate piece of engineering that lets the network instantly know how to route a call the moment it reads the first few digits.
Why Delhi is 11 and Mumbai is 22
The four original metros got the prize spots. Delhi is 11, Mumbai is 22, Kolkata is 33 and Chennai is 44. Two digits each, paired with an eight-digit subscriber number. Eight digits can address roughly a hundred million unique lines, which is exactly the headroom a giant metro needs.
The next tier of big cities took the busy two-digit codes that were left: Bengaluru is 80, Hyderabad is 40, Ahmedabad is 79 and Pune is 20. Same logic, same eight-digit local numbers.
Drop down to state capitals and large district towns and you'll see three-digit codes — Lucknow's 522, Jaipur's 141, Bhopal's 755 — followed by a seven-digit number. Smaller towns and rural circles get four-digit codes with a six-digit local number. The pattern holds all the way down. The length of the code is, in effect, a readout of how dense the local phone network was when the plan was drawn.
The leading zero is not what you think
Here's the part that trips up almost everyone. The 0 you dial before an STD code is not part of the code at all. It's a trunk prefix — a signal to the exchange that says, in effect, "this is a long-distance call, please route it nationally."
That's why the same number wears different clothes depending on where you dial from:
- Within the same city: just the local number, no code at all.
- From elsewhere in India: 0, then the STD code, then the number.
- From outside India: +91, then the STD code, then the number — and the 0 vanishes completely.
The zero gets swallowed by the international format because +91 already does the job of "send this call into India." Stack a 0 on top and you've handed the network a contradiction. This is the single most common reason an international call to an Indian landline fails: people leave the 0 in out of habit.
Mobile numbers broke the map on purpose
Notice that none of this applies to your cellphone. Indian mobile numbers are a flat ten-digit run with no area code bolted on the front. Dial all ten, every time, from anywhere.
The reason is beautifully simple. An STD code is a geographic address — it ties a line to a physical exchange in a specific city. A mobile phone has no fixed address. It rides in your pocket from Kochi to Kashmir and still rings. Forcing a location-based code onto a device built to ignore location would defeat the entire idea.
So mobiles were handed their own series, starting with digits like 6, 7, 8 and 9, kept deliberately separate from the landline ranges. When you see a number begin with one of those, the network already knows it's a mobile and routes it accordingly, with no area lookup required.
What the codes quietly tell you about a place
Because the code length tracks network density, an STD code carries a little buried information about the place it belongs to. A two-digit code almost always means a major metro. A four-digit code usually points to a small town or a thinly wired rural circle.
There's a second clue hiding in there too. Many neighbouring areas share the opening digits of their codes because the plan was organised into broad zones. The country's landline geography was carved roughly along regional lines, so codes that look similar often sit near each other on the map. It's not a perfect rule, but it's a real one.
This is also why some towns have merged codes. As cities sprawled and swallowed nearby exchanges, the telecom authority occasionally folded a smaller area's code into a neighbouring city's, unifying the local dialling. Your old four-digit small-town code can, over years, get absorbed into a larger circle.
The practical payoff
Knowing the architecture turns a few everyday frustrations into non-issues:
- Calling an Indian landline from abroad? Use +91, the STD code, and the number — and delete the leading 0. Keeping it is the classic failed-call mistake.
- Saving numbers for travel? Store every contact in the full +91 international format. It works whether you're roaming overseas or back home, so you never have to edit a contact again.
- Guessing a number's origin? A short code signals a big city; a long one signals a small town. A ten-digit number with no code, starting 6 to 9, is a mobile.
- Confused by a seven- versus eight-digit local number? It's not an error. The local number simply expands or shrinks to keep the grand total at ten.
A design that aged surprisingly well
The elegance of the scheme is that it scales without breaking. When a region runs low on numbers, planners can lengthen subscriber numbers or reorganise codes while holding the ten-digit total steady, so older numbers keep working. Few people ever notice the surgery happening underneath.
It's a rare example of infrastructure that quietly does its job for decades. The next time you dial a landline in a far-off town and the code runs to four digits, you'll know it isn't random. It's the network telling you something true about the place on the other end — written in the only language a phone system speaks, which is numbers that always, stubbornly, add up to ten.



