Surabaya, Indonesia
Major city · Population 2.9M
Surabaya is the 2nd largest city in Indonesia with a population of approximately 2,874,314 people as of 2026. This makes it the 122nd largest city in the world, accounting for 1.01% of Indonesia's total population of 284.4M. Surabaya is classified as a major city and operates in the Asia/Jakarta timezone. The average annual temperature is 28.1°C with 1,987 mm of rainfall per year. The city sits at an elevation of 6 meters above sea level.
Population
2,874,314
Global Rank
#122
Country Rank
#2
% of Indonesia
1.01%
Avg Temperature
28.1°C
Annual Rainfall
1,987 mm
Elevation
6 m
Timezone
Asia/Jakarta
Surabaya on the Map
Climate in Surabaya
Surabaya's warmest month is Oct and the coldest is Feb. The wettest month is Dec with 426 mm of rainfall.
Average Monthly Temperature
Monthly Rainfall
Indonesia at a Glance
Country Population
284,438,782
Capital
Jakarta
Region
South-Eastern Asia
Major Cities
159
GDP per Capita
$4,925
Life Expectancy
71.2 years
Urban Population
58.8%
Growth Rate
0.01%
Other Major Cities in Indonesia
Nearest Major Cities
Closest cities to Surabaya with over 100,000 people
| City | Population | Distance |
|---|---|---|
| Sidoarjo | 139,189 | 22 km |
| Bangil | 120,551 | 40 km |
| Mojokerto | 141,785 | 42 km |
| Pasuruan | 212,466 | 47 km |
| Lawang | 112,540 | 65 km |
| Jombang | 126,465 | 66 km |
| Singosari | 180,740 | 72 km |
| Batu | 221,714 | 73 km |
Frequently Asked Questions
What is the population of Surabaya?
The population of Surabaya, Indonesia is approximately 2,874,314 people, making it the 122nd largest city in the world and the 2nd largest in Indonesia.
Is Surabaya the capital of Indonesia?
No, the capital of Indonesia is Jakarta. Surabaya is the 2nd largest city in the country.
What is the climate like in Surabaya?
Surabaya has an average annual temperature of 28.1°C and receives 1,987 mm of rainfall per year. The warmest month is Oct and the coldest is Feb.
What timezone is Surabaya in?
Surabaya is in the Asia/Jakarta timezone.