Surabaya climate
Surabaya (Indonesia) has a tropical savanna (dry winter) climate (Köppen Aw). The average temperature over the year is 28 °C83 °F, and about 1,881 mm74 in of precipitation falls in an average year.
Temperature by month
Precipitation by month
Surabaya climate table
| Month | High °C°F | Low °C°F | Mean °C°F | Precip. mmin |
|---|---|---|---|---|
| Jan | 2984 | 2678 | 2781 | 33713 |
| Feb | 2983 | 2578 | 2781 | 31612 |
| Mar | 2984 | 2678 | 2781 | 27211 |
| Apr | 3085 | 2679 | 2882 | 1937.6 |
| May | 3086 | 2679 | 2882 | 1234.8 |
| Jun | 3087 | 2577 | 2882 | 742.9 |
| Jul | 3188 | 2476 | 2882 | 351.4 |
| Aug | 3290 | 2476 | 2883 | 110.4 |
| Sep | 3392 | 2578 | 2985 | 180.7 |
| Oct | 3392 | 2680 | 3086 | 632.5 |
| Nov | 3289 | 2780 | 2984 | 1395.5 |
| Dec | 3085 | 2679 | 2882 | 30012 |
| Year | 3392 | 2476 | 2883 | 1,88174 |
“Year” row: highest monthly high, lowest monthly low, annual mean and annual total.
| Month | Humid. | Cloud | Solar | Daylight |
|---|---|---|---|---|
| Jan | 85% | 90% | 4.9 | 12:30 |
| Feb | 86% | 88% | 4.9 | 12:21 |
| Mar | 84% | 84% | 5.1 | 12:10 |
| Apr | 82% | 76% | 5.0 | 11:57 |
| May | 80% | 61% | 4.9 | 11:47 |
| Jun | 77% | 52% | 4.8 | 11:42 |
| Jul | 72% | 45% | 5.1 | 11:44 |
| Aug | 65% | 39% | 5.7 | 11:53 |
| Sep | 61% | 40% | 6.2 | 12:04 |
| Oct | 64% | 58% | 6.1 | 12:17 |
| Nov | 73% | 78% | 5.4 | 12:27 |
| Dec | 82% | 91% | 4.8 | 12:32 |
Humid. = average relative humidity at 2 m; cloud = average cloud amount; solar = average daily solar energy reaching the ground in kWh/m² (all-sky); daylight in hours:minutes, calculated for the 15th of each month.
What the climate of Surabaya is like
The warmest month is October, with an average high of 33 °C92 °F and a low of 26 °C80 °F. The coldest is February, when highs average 29 °C83 °F and lows 25 °C78 °F. Temperatures barely change through the year: the warmest and the coolest month differ by only 2.8 °C5.1 °F.
It is wet, with about 1,881 mm74 in of precipitation per year. The wettest three-month stretch is December–February, which brings 51% of the annual total. Months with less than 20 mm0.8 in on average: August and September. The wettest month is January (337 mm13 in), the driest is August (11 mm0.4 in).
Relative humidity ranges from 61% in September to 86% in February. The clearest skies (lowest average cloud amount, 39%) are typical of August. Average wind speed near the ground ranges from 8 km/h (5 mph) in April to 13 km/h (8 mph) in August.
Best time to visit Surabaya
Based on these averages, the most comfortable months for sightseeing and outdoor activities are June–August: average highs of 30 °C87 °F to 32 °C90 °F with 11 mm0.4 in to 74 mm2.9 in of precipitation per month.
The most challenging month is January, which is very wet (337 mm13 in) and humid (85% relative humidity).
Comfort score: months are ranked by how close they come to an average high of 21–28 °C (70–82 °F), lows above 5 °C (41 °F), little precipitation and moderate humidity. The best-ranked months of each place are recommended, even where none meets all of these. These are general rules of thumb applied to long-term averages.
Surabaya weather by month
- January29 °C84 °F / 26 °C78 °F
- February29 °C83 °F / 25 °C78 °F
- March29 °C84 °F / 26 °C78 °F
- April30 °C85 °F / 26 °C79 °F
- May30 °C86 °F / 26 °C79 °F
- June30 °C87 °F / 25 °C77 °F
- July31 °C88 °F / 24 °C76 °F
- August32 °C90 °F / 24 °C76 °F
- September33 °C92 °F / 25 °C78 °F
- October33 °C92 °F / 26 °C80 °F
- November32 °C89 °F / 27 °C80 °F
- December30 °C85 °F / 26 °C79 °F
What to pack for Surabaya
- Wetter months (December–April) — highs 2983 to 30 °C85 °F, lows 2578 to 26 °C79 °F, about 284 mm11 in of precipitation a month. Pack light summer clothes such as T-shirts, shorts or light dresses and a good rain jacket or umbrella and quick-drying shoes.
- Drier months (May–November) — highs 3086 to 33 °C92 °F, lows 2476 to 27 °C80 °F, about 66 mm2.6 in of precipitation a month. Pack very light, breathable clothing, a sun hat and plenty of water.
How Surabaya compares
Of the 110 places in Indonesia covered by World Climates, Surabaya is the 4th warmest by annual mean temperature and the 89th wettest by annual precipitation. See all of them on the Indonesia climate page.
Places in other countries with the most similar temperature and rainfall pattern (seasons shifted for the other hemisphere where needed): Cà Mau (Vietnam, Aw), Rạch Giá (Vietnam, Aw) and Bạc Liêu (Vietnam, Aw).
Nearby places
- Mojokerto 42 km · 28 °C82 °F · 1,849 mm73 in
- Pasuruan 47 km · 28 °C83 °F · 1,760 mm69 in
- Probolinggo 76 km · 28 °C82 °F · 1,756 mm69 in
- Malang 82 km · 25 °C76 °F · 1,867 mm74 in
- Kediri 103 km · 27 °C80 °F · 1,944 mm77 in
- Lumajang 111 km · 27 °C81 °F · 1,756 mm69 in
- Blitar 114 km · 26 °C79 °F · 1,944 mm77 in
- Madiun 142 km · 27 °C81 °F · 1,946 mm77 in
Frequently asked questions
What is the warmest month in Surabaya?
October is the warmest month in Surabaya, with an average high of 33 °C (92 °F) and an average low of 26 °C (80 °F).
What is the coldest month in Surabaya?
February is the coldest month, with an average high of 29 °C (83 °F) and an average low of 25 °C (78 °F).
When does it rain the most in Surabaya?
January is the wettest month with about 337 mm (13.3 in) of precipitation; August is the driest with about 11 mm (0.4 in).
What is the best time to visit Surabaya?
Judging by long-term averages, the most comfortable months are June–August.
About this data
All figures are 25-year averages (January 2001 – December 2025) from the NASA POWER project. Temperature, humidity, wind and precipitation come from the MERRA-2 reanalysis (precipitation is the bias-corrected MERRA-2 product), cloud and solar values from CERES satellite data. They describe a grid cell of roughly 50–70 km, not a single weather station, so they can differ from airport records — most of all on coasts, in mountains and for rainfall. Average highs and lows are the monthly mean temperature plus/minus half of the average daily temperature range. Counts of rainy days are not part of this dataset.