Surabaya climate
Surabaya is warmest in October, with average highs of 33 °C, and coldest in July, when nights average 24 °C. January is the wettest month (285 mm) and August the driest (6.5 mm). Figures are 1991–2020 climate normals.
Across a full year Surabaya averages 1,695 mm of rain and 365 days above 25 °C.
Indonesia · population 3,018,022 · 1991–2020 normals
Temperature below 0 °C to above 30 °C Rain band height is that month’s share of the wettest month
- Warmest month October 33 °C
- Coldest month July 24 °C
- Driest month August 7 mm
- Wettest month January 285 mm
- Least cloud August 44 % cloud
- Hottest on record December 36 °C
- Coldest on record August 21 °C
- Warmest sea November 30 °C
What to expectSurabaya through the year
Surabaya changes little through the year. Average daily highs stay between 31 and 33 °C, so no month stands out as a season in the way it would further from the equator.
Counted across a normal year, 365 days a year reach 25 °C, 240 of them reach 30 °C. The warmest reading in the 1991–2020 record is 36 °C, in December.
Rain is strongly seasonal. January averages 285 mm against 7 mm in August — 44 times as much. Planning around the dry months matters more here than planning around temperature.
The sea off Surabaya is warmest in November at 30 °C and coldest in August at 28 °C. Sea temperature lags the air by a month or two, which is why late summer swims warmer than early summer at the same air temperature.
Month by month
| Month | Avg high | Rainfall | Cloud |
|---|---|---|---|
| January | 29.4 °C | 285 mm | 89 % |
| February | 29.4 °C | 263 mm | 90 % |
| March | 29.8 °C | 262 mm | 82 % |
| April | 30.1 °C | 185 mm | 75 % |
| May | 30.5 °C | 86 mm | 58 % |
| June | 30.4 °C | 50 mm | 51 % |
| July | 30.6 °C | 23 mm | 46 % |
| August | 31.4 °C | 7 mm | 44 % |
| September | 32.7 °C | 19 mm | 49 % |
| October | 32.9 °C | 70 mm | 61 % |
| November | 31.4 °C | 176 mm | 77 % |
| December | 29.9 °C | 271 mm | 88 % |
Temperature month by month
| Month | Avg high | Avg low | Mean | Record high | Record low | Days above 25 °C | Days above 30 °C | Days below 0 °C |
|---|---|---|---|---|---|---|---|---|
| January | 29.4 °C | 24.8 °C | 26.6 °C | 32.9 °C | 23.4 °C | 31 | 9 | 0 |
| February | 29.4 °C | 24.8 °C | 26.5 °C | 32.0 °C | 23.5 °C | 28 | 7 | 0 |
| March | 29.8 °C | 25.0 °C | 26.9 °C | 32.2 °C | 23.2 °C | 31 | 14 | 0 |
| April | 30.1 °C | 25.2 °C | 27.3 °C | 32.1 °C | 23.3 °C | 30 | 17 | 0 |
| May | 30.5 °C | 25.1 °C | 27.5 °C | 32.4 °C | 21.6 °C | 31 | 23 | 0 |
| June | 30.4 °C | 24.5 °C | 27.3 °C | 32.8 °C | 20.9 °C | 30 | 20 | 0 |
| July | 30.6 °C | 23.9 °C | 27.1 °C | 32.5 °C | 20.6 °C | 31 | 24 | 0 |
| August | 31.4 °C | 23.9 °C | 27.5 °C | 33.3 °C | 20.5 °C | 31 | 30 | 0 |
| September | 32.7 °C | 24.4 °C | 28.3 °C | 34.9 °C | 21.2 °C | 30 | 29 | 0 |
| October | 32.9 °C | 25.3 °C | 28.7 °C | 36.2 °C | 21.8 °C | 31 | 29 | 0 |
| November | 31.4 °C | 25.5 °C | 28.0 °C | 35.7 °C | 23.9 °C | 30 | 23 | 0 |
| December | 29.9 °C | 25.1 °C | 27.0 °C | 36.4 °C | 23.6 °C | 31 | 15 | 0 |
Rain, sun and wind month by month
| Month | Rainfall | Wet days | Daylight | Cloud cover | Humidity | Wind | Sea temp |
|---|---|---|---|---|---|---|---|
| January | 285 mm | 29 | 13 h/day | 89 % | 85 % | 14 km/h | 29.4 °C |
| February | 263 mm | 27 | 12 h/day | 90 % | 86 % | 14 km/h | 28.8 °C |
| March | 262 mm | 29 | 12 h/day | 82 % | 84 % | 11 km/h | 29.3 °C |
| April | 185 mm | 24 | 12 h/day | 75 % | 83 % | 9.7 km/h | 29.9 °C |
| May | 86 mm | 14 | 12 h/day | 58 % | 80 % | 11 km/h | 29.8 °C |
| June | 50 mm | 9 | 12 h/day | 51 % | 77 % | 12 km/h | 29.1 °C |
| July | 23 mm | 4 | 12 h/day | 46 % | 73 % | 14 km/h | 28.4 °C |
| August | 7 mm | 1 | 12 h/day | 44 % | 68 % | 15 km/h | 28.1 °C |
| September | 19 mm | 3 | 12 h/day | 49 % | 66 % | 14 km/h | 28.4 °C |
| October | 70 mm | 11 | 12 h/day | 61 % | 69 % | 13 km/h | 29.1 °C |
| November | 176 mm | 23 | 12 h/day | 77 % | 77 % | 11 km/h | 30.0 °C |
| December | 271 mm | 28 | 13 h/day | 88 % | 83 % | 11 km/h | 29.7 °C |
How Surabaya compares
The same four figures for nearby destinations, so the numbers above have something to be read against. Summer high is the warmest month's average high; winter low is the coldest month's average low.
| Destination | Summer high | Winter low | Rain per year | Days above 25 °C |
|---|---|---|---|---|
| Surabaya | 33 °C | 24 °C | 1,695 mm | 365 |
| Pasuruan · Indonesia | 32 °C | 22 °C | 1,710 mm | 365 |
| Singosari · Indonesia | 30 °C | 19 °C | 2,303 mm | 359 |
| Batu · Indonesia | 28 °C | 18 °C | 3,088 mm | 313 |
| Probolinggo · Indonesia | 31 °C | 24 °C | 1,451 mm | 365 |
| Malang · Indonesia | 30 °C | 19 °C | 2,341 mm | 360 |
| Kediri · Indonesia | 31 °C | 21 °C | 2,075 mm | 365 |
Where Surabaya ranks
| Ranking | Position | Value |
|---|---|---|
| Warmest sea temperatures in Asia in November | 5th of 50 | 30 °C |
| Warmest sea temperatures in the world in November | 5th of 50 | 30 °C |
| Warmest sea temperatures in Asia in December | 6th of 50 | 30 °C |
| Warmest sea temperatures in Asia in January | 8th of 50 | 29 °C |
| Warmest sea temperatures in the world in December | 8th of 50 | 30 °C |
| Warmest sea temperatures in the world in January | 10th of 50 | 29 °C |
Planning a trip? See the best time to visit Surabaya.
QuestionsCommon questions about Surabaya’s climate
When is the best time to visit Surabaya?
That depends on what you want, so the honest answer is a comparison rather than a single month. January, February, March sit closest to 20 °C on average, October is the warmest month and August the driest. The month-by-month table above has the full picture.
How hot does Surabaya get?
In October, the warmest month, daily highs average 33 °C. About 240 days a year pass 30 °C. The highest value in the 1991–2020 record is 36 °C.
How cold does it get in winter?
Nights average 24 °C in July, the coldest month. Freezing nights are not part of a normal year here.
Which month is wettest in Surabaya?
January, averaging 285 mm over 29 days with rain. The driest month is August with 7 mm. The year as a whole averages 1,695 mm.
Are these figures a forecast?
No. They are 1991–2020 climate normals: the average of thirty years, which describes what a month is usually like in Surabaya rather than what any particular week will bring. Individual years can differ substantially from the normal.
Data sources and method
- ERA5 / ERA5-Land reanalysis — Copernicus Climate Change Service (C3S), ECMWF. Copernicus Licence
- Open-Meteo — Open-Meteo.com. CC BY 4.0
- NOAA OISST v2.1 — NOAA Physical Sciences Laboratory. Public domain
- GeoNames — GeoNames.org. CC BY 4.0
- Normal period
- 1991–2020
- Data point
- -7.249°, 112.751° (the coordinates the reanalysis values are taken for)
- Dataset version
- era5-1991-2020-scores1.1
- Last processed
Measured values come from ERA5 reanalysis and are reproduced unchanged. Calculated by us: monthly rankings, daylight hours, beach and comfort scores. Full formulas are on the methodology page.
Contains modified Copernicus Climate Change Service information 2026. Neither the European Commission nor ECMWF is responsible for any use that may be made of the Copernicus information or data it contains.