Monthly climate in Surabaya, Indonesia

Last updated: July 31, 2025

Under the Köppen–Geiger climate classification Surabaya features a tropical rainforest climate (Af). Temperatures typically range between 27 °C (80 °F) and 28 °C (82 °F) through the year, but rarely can drop to 21 °C (70 °F) or can rise to as high as 37 °C (99 °F). The average annual precipitation amounts to about 2747 mm (108.2 inches) and receives 280 rainy days on the 1 mm (0.04 inches) threshold annually. Surabaya enjoys an average of 3453 hours of sunshine throughout the year, and daylight varies from 11 hours 50 minutes to 12 hours 22 minutes per day.

Monthly average temperatures in Surabaya, Indonesia

The warmest months in Surabaya are May, October and November, with daily mean temperatures ranging from 28 to 28 °C (82 - 82 °F) throughout the day. The coldest temperatures usually occur in July, August and September, when daily mean temperatures range from 27 to 27 °C (80 - 81 °F) throughout the day. On average each year, Surabaya experiences 329 days above 25 °C (77.0 °F) and 0 days below 0 °C (32.0 °F).

Monthly average temperatures with daily means, minimums and maximums for period, average high and low temperatures in Surabaya. Generated using Copernicus Climate Change Service information. Data for period from January 2017 to June 2022.
 JanFebMarAprMayJunJulAugSepOctNovDec
Maximum35°C
(95°F)
33°C
(92°F)
34°C
(94°F)
35°C
(95°F)
34°C
(93°F)
33°C
(91°F)
32°C
(90°F)
33°C
(91°F)
33°C
(92°F)
35°C
(95°F)
37°C
(99°F)
35°C
(96°F)
Mean maximum34°C
(93°F)
33°C
(92°F)
34°C
(94°F)
34°C
(93°F)
33°C
(92°F)
32°C
(90°F)
32°C
(89°F)
32°C
(90°F)
33°C
(91°F)
34°C
(94°F)
34°C
(94°F)
34°C
(94°F)
Average high31°C
(89°F)
31°C
(88°F)
32°C
(89°F)
32°C
(90°F)
31°C
(89°F)
31°C
(88°F)
30°C
(87°F)
30°C
(87°F)
31°C
(88°F)
32°C
(90°F)
32°C
(90°F)
32°C
(89°F)
Daily mean27°C
(81°F)
27°C
(81°F)
27°C
(81°F)
28°C
(82°F)
28°C
(82°F)
27°C
(81°F)
27°C
(80°F)
27°C
(80°F)
27°C
(81°F)
28°C
(82°F)
28°C
(82°F)
27°C
(81°F)
Average low24°C
(76°F)
24°C
(76°F)
25°C
(76°F)
25°C
(77°F)
25°C
(78°F)
25°C
(77°F)
24°C
(75°F)
24°C
(75°F)
24°C
(75°F)
25°C
(76°F)
25°C
(77°F)
25°C
(77°F)
Mean minimum23°C
(74°F)
23°C
(74°F)
23°C
(75°F)
24°C
(75°F)
24°C
(76°F)
23°C
(75°F)
22°C
(72°F)
22°C
(72°F)
23°C
(73°F)
23°C
(74°F)
23°C
(75°F)
24°C
(75°F)
Minimum23°C
(73°F)
23°C
(74°F)
23°C
(73°F)
24°C
(75°F)
23°C
(74°F)
23°C
(73°F)
21°C
(70°F)
21°C
(70°F)
21°C
(70°F)
23°C
(73°F)
23°C
(73°F)
23°C
(74°F)

Compare climate in Surabaya with other places

Compare temperature, precipitation, sunshine, UV index in Surabaya, Indonesia with other places around the world.

Monthly average precipitation in Surabaya, Indonesia

Surabaya usually has the most precipitation in February, March and December, with an average of 28 rainy days and 361 mm (14.2 inches) of precipitation per month. The driest months in Surabaya are July, August and September. On average, 94 mm (3.7 inches) of precipitation falls during these months.

Monthly average precipitation and precipitation days in Surabaya. Generated using Copernicus Climate Change Service information. Data for period from January 2017 to January 2022.
 JanFebMarAprMayJunJulAugSepOctNovDec
Average precipitation mm (inches)257 (10.1)325 (12.8)418 (16.4)318 (12.5)242 (9.5)198 (7.8)107 (4.2)77 (3.0)97 (3.8)118 (4.6)250 (9.8)340 (13.4)
Average precipitation days (≥ 1 mm)232630282824181715192329

Monthly sunshine hours in Surabaya, Indonesia

The sunniest months in Surabaya are July, August and October, when the sun shines an average of 10 hours 10 minutes a day. Least sunny months in Surabaya: January, February and November receive an average of 8 hours 22 minutes of sunshine daily.

Mean monthly sunshine duration, average sunshine hours per day and mean daily daylight hours in Surabaya. Generated using Copernicus Atmosphere Monitoring Service information. Data for period from January 2017 to January 2022.
 JanFebMarAprMayJunJulAugSepOctNovDec
Mean monthly sunshine hours222260296284297293314320307311270273
Mean daily daylight hours12h 20m12h 14m12h 6m11h 59m11h 53m11h 50m11h 52m11h 56m12h 4m12h 11m12h 18m12h 22m

Solar UV radiation in Surabaya, Indonesia

Surabaya experiences the highest level of ultraviolet (UV) radiation in March, April and November, when the maximum UV index can reach values of 15 - 16, which corresponds to the Extreme category of sun exposure. May, June and July are in the Extreme exposure category. In these months, the maximum values of the UV index do not exceed 13. For more detailed information, check out our hourly Surabaya UV Index data.

Average daily maximum UV levels by month for Surabaya. Generated using Copernicus Atmosphere Monitoring Service information. Data for period from January 2022 to January 2023.
 JanFebMarAprMayJunJulAugSepOctNovDec
UV Index (month maximum)151516151311121314151514