Mapped: Indian States with Cities Over 1 Million People
This was originally posted on our Voronoi app. Download the app for free on iOS or Android and discover incredible data-driven charts from a variety of trusted sources.
Slightly more than one-third of the 1.4 billion Indian population lives in an urban area. So where are the country’s most populous cities, and how are they spread across the country’s 28 states and eight union territories?
This map shows the number of Indian urban agglomerations (cities and districts) with more than a million residents in each jurisdiction. Data for this graphic is sourced from 2024 urban agglomeration estimates in the UN World Urbanization Prospects.
Ranked: Indian States by Cities with 1M Residents
India’s Uttar Pradesh state has 10 cities with a population size of 1 million or more. It is also India’s most populous state, home to 240 million people. This makes it comparable to the size of Pakistan, the fifth most populous country in the world.
Indian State | Cities with 1M Residents (2024) | City Names |
---|---|---|
Uttar Pradesh | 10 | Lucknow, Kanpur, Agra, Meerut, Varanasi, Prayagraj, Bareilly, Aligarh, Moradabad, Saharanpur |
Kerala | 7 | Kozhikode, Malappuram, Thrissur, Kochi, Thiruvananthapura, Kannur, Kollam |
Maharashtra | 6 | Mumbai, Pune, Nagpur, Nashik, Aurangabad, Solapur |
Tamil Nadu | 6 | Chennai, Coimbatore, Madurai, Tiruppur, Tiruchirappalli, Salem |
Gujarat | 4 | Ahmedabad, Surat, Vadodara, Rajkot |
Madhya Pradesh | 4 | Indore, Bhopal, Jabalpur, Gwalior |
Jharkhand | 3 | Jamshedpur, Ranchi, Dhanbad |
Karnataka | 3 | Bengaluru, Mysore, Hubli-Dharwad |
Punjab | 3 | Ludhiana, Amritsar, Jalandhar |
Rajasthan | 3 | Jaipur, Jodhpur, Kota |
West Bengal | 3 | Kolkata, Asansol, Siliguri |
Andhra Pradesh | 2 | Visakhapatnam, Vijayawada |
Chhattisgarh | 2 | Raipur, Durg-Bhilainagar |
Telangana | 2 | Hyderabad, Warangal |
Assam | 1 | Guwahati |
Bihar | 1 | Patna |
Odisha | 1 | Bhubaneswar |
Uttarakhand | 1 | Dehradun |
Chandigarh* | 1 | Chandigargh |
Delhi* | 1 | New Delhi |
Jammu & Kashmir* | 1 | Srinagar |
*Union Territories. Figures rounded. Some city names may have changed since this data was published.
Further south, Kerala (7), Maharashtra (6), and Tamil Nadu (6) also have more than five cities with a million or more people.
Meanwhile, some cities, including India’s national capital, New Delhi, are either in or are themselves union territories—areas directly administered by the central government.
Ten Indian states—most of them from the country’s northeast region—don’t have a single city with 1 million residents.
All together, India has 65 cities with more than one million inhabitants. For comparison, China has 105, and the U.S. has nine.
Rank | City | State/Union Territory | 2024 Population Estimates |
---|---|---|---|
1 | New Delhi | Delhi* | 34M |
2 | Mumbai | Maharashtra | 22M |
3 | Kolkata | West Bengal | 16M |
4 | Bengaluru | Karnataka | 14M |
5 | Chennai | Tamil Nadu | 12M |
6 | Hyderabad | Telangana | 11M |
7 | Ahmadabad | Gujarat | 9M |
8 | Surat | Gujarat | 8M |
9 | Pune | Maharashtra | 7M |
10 | Jaipur | Rajasthan | 4M |
11 | Kozhikode | Kerala | 4M |
12 | Malappuram | Kerala | 4M |
13 | Lucknow | Uttar Pradesh | 4M |
14 | Thrissur | Kerala | 4M |
15 | Kochi | Kerala | 4M |
16 | Indore | Madhya Pradesh | 3M |
17 | Kanpur | Uttar Pradesh | 3M |
18 | Nagpur | Maharashtra | 3M |
19 | Coimbatore | Tamil Nadu | 3M |
20 | Thiruvananthapuram | Kerala | 3M |
21 | Patna | Bihar | 3M |
22 | Bhopal | Madhya Pradesh | 3M |
23 | Agra | Uttar Pradesh | 3M |
24 | Kannur | Kerala | 2M |
25 | Visakhapatnam | Andhra Pradesh | 2M |
26 | Vadodara | Gujarat | 2M |
27 | Nashik | Maharashtra | 2M |
28 | Vijayawada | Andhra Pradesh | 2M |
29 | Kollam | Kerala | 2M |
30 | Rajkot | Gujarat | 2M |
31 | Ludhiana | Punjab | 2M |
32 | Madurai | Tamil Nadu | 2M |
33 | Raipur | Chhattisgarh | 2M |
34 | Meerut | Uttar Pradesh | 2M |
35 | Varanasi | Uttar Pradesh | 2M |
36 | Srinagar | Jammu & Kashmir* | 2M |
37 | Tiruppur | Tamil Nadu | 2M |
38 | Jamshedpur | Jharkhand | 2M |
39 | Aurangabad | Maharashtra | 2M |
40 | Jodhpur | Rajasthan | 2M |
41 | Ranchi | Jharkhand | 2M |
42 | Kota | Rajasthan | 2M |
43 | Jabalpur | Madhya Pradesh | 2M |
44 | Asansol | West Bengal | 2M |
45 | Gwalior | Madhya Pradesh | 2M |
46 | Allahabad | Uttar Pradesh | 2M |
47 | Amritsar | Punjab | 1M |
48 | Dhanbad | Jharkhand | 1M |
49 | Bareilly | Uttar Pradesh | 1M |
50 | Aligarh | Uttar Pradesh | 1M |
51 | Moradabad | Uttar Pradesh | 1M |
52 | Mysore | Karnataka | 1M |
53 | Durg-Bhilainagar | Chhattisgarh | 1M |
54 | Bhubaneswar | Odisha | 1M |
55 | Tiruchirappalli | Tamil Nadu | 1M |
56 | Chandigarh | Chandigarh* | 1M |
57 | Saharanpur | Uttar Pradesh | 1M |
58 | Hubli-Dharwad | Karnataka | 1M |
59 | Guwahati | Assam | 1M |
60 | Salem | Tamil Nadu | 1M |
61 | Siliguri | West Bengal | 1M |
62 | Jalandhar | Punjab | 1M |
63 | Solapur | Maharashtra | 1M |
64 | Warangal | Telangana | 1M |
65 | Dehradun | Uttarakhand | 1M |
*Union Territories. Figures rounded. Some city names may have changed since this data was published.
Interestingly, three of the five most populous Indian cities (Mumbai, Kolkata, and Chennai) were villages that became key British trading outposts. As a result all three cities have a fort within their city limits which acted as protection against competing colonial interests at the time.
Finally, Uttar Pradesh—which leads the states by number of cities with 1M people—doesn’t have a single metropolis within the top 10.