Monthly climate in Surabaya, Indonesia

Last updated: July 31, 2025

Under the Köppen–Geiger climate classification Surabaya features a tropical savanna climate (Aw). Temperatures typically range between 28 °C (82 °F) and 30 °C (86 °F) through the year, but rarely can drop to 22 °C (72 °F) or can rise to as high as 36 °C (97 °F). The average annual precipitation amounts to about 1790 mm (70.5 inches) and receives 204 rainy days on the 1 mm (0.04 inches) threshold annually. Surabaya enjoys an average of 3449 hours of sunshine throughout the year, and daylight varies from 11 hours 41 minutes to 12 hours 31 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 29 to 30 °C (85 - 86 °F) throughout the day. The coldest temperatures usually occur in January, February and July, when daily mean temperatures range from 28 to 28 °C (82 - 83 °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
Maximum34°C
(94°F)
33°C
(92°F)
33°C
(92°F)
34°C
(93°F)
34°C
(93°F)
34°C
(93°F)
33°C
(92°F)
33°C
(92°F)
36°C
(96°F)
35°C
(96°F)
36°C
(97°F)
36°C
(97°F)
Mean maximum33°C
(91°F)
33°C
(91°F)
33°C
(92°F)
33°C
(92°F)
33°C
(92°F)
33°C
(91°F)
33°C
(91°F)
33°C
(91°F)
34°C
(94°F)
35°C
(95°F)
35°C
(95°F)
34°C
(93°F)
Average high31°C
(88°F)
31°C
(88°F)
32°C
(89°F)
32°C
(90°F)
32°C
(90°F)
32°C
(89°F)
31°C
(89°F)
32°C
(89°F)
33°C
(91°F)
33°C
(92°F)
33°C
(91°F)
32°C
(90°F)
Daily mean28°C
(82°F)
28°C
(82°F)
28°C
(83°F)
29°C
(84°F)
29°C
(85°F)
29°C
(84°F)
28°C
(83°F)
28°C
(83°F)
29°C
(84°F)
30°C
(86°F)
29°C
(85°F)
28°C
(83°F)
Average low26°C
(79°F)
26°C
(78°F)
26°C
(79°F)
26°C
(80°F)
27°C
(80°F)
26°C
(79°F)
25°C
(77°F)
25°C
(77°F)
26°C
(79°F)
26°C
(80°F)
27°C
(80°F)
26°C
(79°F)
Mean minimum25°C
(77°F)
25°C
(77°F)
25°C
(77°F)
25°C
(78°F)
25°C
(78°F)
25°C
(76°F)
23°C
(73°F)
23°C
(74°F)
24°C
(76°F)
25°C
(78°F)
25°C
(77°F)
25°C
(77°F)
Minimum25°C
(77°F)
24°C
(76°F)
24°C
(76°F)
25°C
(77°F)
24°C
(76°F)
23°C
(74°F)
22°C
(73°F)
22°C
(72°F)
23°C
(75°F)
25°C
(77°F)
24°C
(76°F)
24°C
(76°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 304 mm (12.0 inches) of precipitation per month. The driest months in Surabaya are July, August and September. On average, 14 mm (0.6 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)253 (10.0)290 (11.4)320 (12.6)175 (6.9)69 (2.7)51 (2.0)13 (0.5)8 (0.3)21 (0.8)80 (3.1)208 (8.2)302 (11.9)
Average precipitation days (≥ 1 mm)252729241210224142629

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 3 minutes a day. Least sunny months in Surabaya: January, February and November receive an average of 8 hours 24 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 hours221262293286302291310314306309273277
Mean daily daylight hours12h 28m12h 19m12h 7m11h 55m11h 45m11h 41m11h 43m11h 51m12h 3m12h 15m12h 26m12h 31m

Solar UV radiation in Surabaya, Indonesia

Surabaya experiences the highest level of ultraviolet (UV) radiation in February, March and September, when the maximum UV index can reach values of 14 - 15, which corresponds to the Extreme category of sun exposure. May, June and July are in the Very High / Extreme exposure category. In these months, the maximum values of the UV index do not exceed 12. 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)131514121210111214131313