Surabaya weather by month & the best time to visit
🇮🇩 Indonesia · major coastal city · tropical — wet & dry seasons climate
The best time to visit Surabaya is July — its sunniest month (Sunshine Score 87/100), with June close behind. Surabaya averages about 2,492 hours of sunshine a year. Daytime highs around 32°C / 90°F and roughly 34 mm of rain in July.
Jump to: month-by-month table · sea temperature · nearby alternatives · embed this data
- Sun hours / year
- 2,492
- Sunniest month
- July
- Peak score
- 87/100
- Rain / year
- 1,849 mm
- Midday UV at peak
- 11 (extreme)
- Sea at warmest
- 32°C / 90°F
- Population
- 3M
- Elevation
- Sea level

When is the best time to visit Surabaya?
For sunshine, the best time to visit Surabaya is July, then June. The dullest month is October (50/100, 60 mm of rain). The full month-by-month picture is in the table below.
How sunny is Surabaya?
Surabaya gets a moderate 2,492 hours of sunshine a year. July (87/100) is noticeably better than October (50). It ranks #32 of 119 destinations in Indonesia for annual sunshine, above the national median of 2,183 hours. Rain has a clear season: the wettest stretch, around January, carries about 50% of the annual 1,849 mm.
Sunshine Score by month
| Month | Score | Day high | Night low | Rain | UV | Sea |
|---|---|---|---|---|---|---|
| January | 66 | 30° / 86°F | 24° / 75°F | 326 mm | 10 | 32° / 90°F |
| February | 66 | 30° / 86°F | 24° / 75°F | 321 mm | 10 | 31° / 88°F |
| March | 66 | 30° / 86°F | 25° / 77°F | 280 mm | 10 | 31° / 88°F |
| April | 66 | 30° / 86°F | 25° / 77°F | 194 mm | 10 | 32° / 90°F |
| May | 71 | 31° / 88°F | 24° / 75°F | 121 mm | 9 | 31° / 88°F |
| June | 81 | 31° / 88°F | 23° / 73°F | 69 mm | 8 | 31° / 88°F |
| July | 87 | 32° / 90°F | 22° / 72°F | 34 mm | 9 | 29° / 84°F |
| August | 73 | 34° / 93°F | 22° / 72°F | 11 mm | 10 | 29° / 84°F |
| September | 54 | 36° / 97°F | 23° / 73°F | 17 mm | 11 | 30° / 86°F |
| October | 50 | 36° / 97°F | 25° / 77°F | 60 mm | 11 | 31° / 88°F |
| November | 55 | 34° / 93°F | 26° / 79°F | 133 mm | 10 | 32° / 90°F |
| December | 66 | 31° / 88°F | 25° / 77°F | 283 mm | 9 | 31° / 88°F |
Sea temperature in Surabaya by month
The sea off Surabaya is warmest in January at around 32°C / 90°F, and coolest in July at 29°C / 84°F. The water sits at a comfortable 21°C or warmer roughly all year round. Month-by-month sea-surface temperatures are in the Sea column of the table above.
See Surabaya on the interactive sunshine globe →
Nearby places for sunshine
- Malang Indonesia · 62 km · best in Aug · 2,491 h sun/yr
- Surakarta Indonesia · 224 km · best in Aug · 2,418 h sun/yr
- Yogyakarta Indonesia · 264 km · best in Aug · 2,418 h sun/yr
- Semarang Indonesia · 270 km · best in Jul · 2,418 h sun/yr
- Denpasar Indonesia · 303 km · best in Aug · 2,777 h sun/yr
- Mataram (Pujut, Lombok Tengah) Indonesia · 414 km · best in Aug · 2,768 h sun/yr
Nearest destinations
- Kediri Indonesia · 101 km · 2,565 h sun/yr · best in Jul
- Jember Indonesia · 138 km · 2,843 h sun/yr · best in Aug
- Banyuwangi Indonesia · 200 km · 2,683 h sun/yr · best in Aug
Head-to-head
How Surabaya compares month by month: Surabaya vs Semarang · Surabaya vs Malang · Surabaya vs Denpasar · Surabaya vs Yogyakarta · all comparisons
Put the Surabaya sunshine badge on your site
A compact badge showing Surabaya's sunshine at a glance — free to embed under CC BY 4.0. Paste this wherever you'd like it to appear:
Live preview — this is exactly what your readers see: