Indonesia flag

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

Loading 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

27.4°C
Jan
27.1°C
Feb
27.4°C
Mar
28.1°C
Apr
29.1°C
May
28.5°C
Jun
27.8°C
Jul
27.9°C
Aug
28.9°C
Sep
29.8°C
Oct
28.4°C
Nov
27.1°C
Dec
27.1°C29.8°C

Monthly Rainfall

340 mm
Jan
391 mm
Feb
239 mm
Mar
225 mm
Apr
6 mm
May
34 mm
Jun
7 mm
Jul
4 mm
Aug
11 mm
Sep
20 mm
Oct
284 mm
Nov
426 mm
Dec

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%

Nearest Major Cities

Closest cities to Surabaya with over 100,000 people

Cities closest to Surabaya by distance
CityPopulationDistance
Sidoarjo139,18922 km
Bangil120,55140 km
Mojokerto141,78542 km
Pasuruan212,46647 km
Lawang112,54065 km
Jombang126,46566 km
Singosari180,74072 km
Batu221,71473 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.