Surabaya vs Semarang: which is sunnier?
🇮🇩 Indonesia vs 🇮🇩 Indonesia · 270 km apart · long-term climate normals (NASA POWER, 2001–2020)
Surabaya and Semarang are virtually tied for annual sunshine — about 2,492 vs 2,418 hours a year. Semarang has the higher Sunshine Score in 4 of 12 months, Surabaya in 2 (6 within 2 points).
Scores are the 0–100 Sunshine Score — sunshine, daytime warmth and dryness in one number, per month.


At a glance
| Surabaya | Semarang | |
|---|---|---|
| Sunshine hours / year | 2,492 | 2,418 |
| Sunniest month | July (87/100) | July (84/100) |
| Nov–Feb average score | 63/100 | 66/100 |
| Jun–Aug average score | 80/100 | 80/100 |
| Rain / year | 1,849 mm | 2,056 mm |
| Warmest sea | 32°C / 90°F | 32°C / 90°F |
| Peak midday UV | 11 (extreme) | 11 (extreme) |
Surabaya vs Semarang month by month
| Month | Sunshine Score | Day high °C | Rain mm | Sea °C | ||||
|---|---|---|---|---|---|---|---|---|
| Surabaya | Semarang | Surabaya | Semarang | Surabaya | Semarang | Surabaya | Semarang | |
| January | 66 | 66 | 30° | 29° | 326 | 354 | 32° | 31° |
| February | 66 | 66 | 30° | 29° | 321 | 349 | 31° | 31° |
| March | 66 | 66 | 30° | 30° | 280 | 204 | 31° | 31° |
| April | 66 | 66 | 30° | 30° | 194 | 187 | 32° | 32° |
| May | 71 | 69 | 31° | 30° | 121 | 132 | 31° | 32° |
| June | 81 | 77 | 31° | 30° | 69 | 87 | 31° | 31° |
| July | 87 | 84 | 32° | 31° | 34 | 50 | 29° | 30° |
| August | 73 | 79 | 34° | 33° | 11 | 30 | 29° | 30° |
| September | 54 | 57 | 36° | 35° | 17 | 67 | 30° | 31° |
| October | 50 | 57 | 36° | 34° | 60 | 118 | 31° | 31° |
| November | 55 | 66 | 34° | 32° | 133 | 205 | 32° | 32° |
| December | 66 | 66 | 31° | 30° | 283 | 273 | 31° | 31° |
The sunnier month by month: Jan even · Feb even · Mar even · Apr even · May even · Jun Surabaya · Jul Surabaya · Aug Semarang · Sep Semarang · Oct Semarang · Nov Semarang · Dec even.
When to pick which
- November–February: Semarang (average score 66/100 vs 63). Daytime highs are similar (31°C vs 30°C).
- March–May: too close to call — Surabaya averages 68/100, Semarang 67/100. Daytime highs are similar (30°C vs 30°C).
- June–August: too close to call — Surabaya averages 80/100, Semarang 80/100. Daytime highs are similar (32°C vs 31°C).
- September–October: Semarang (average score 57/100 vs 52). Daytime highs are similar (36°C vs 35°C).
Sea temperature
Both seas peak at 32°C / 90°F. Swimmable water (21°C+): Surabaya all year, Semarang all year. Month-by-month sea temperatures are in the table above.
Full month-by-month guides: Surabaya weather by month · Semarang weather by month · Best time to visit Indonesia.
More comparisons: Surabaya vs Malang · Surabaya vs Denpasar · Surabaya vs Yogyakarta · Semarang vs Bandung · Semarang vs Yogyakarta · Semarang vs Surakarta · all head-to-heads