Thermograph

Surabaya, East Java, Indonesia climate

Average temperatures, precipitation and all-time records for Surabaya, East Java, Indonesia, with every day graded against ~46 years of local climate history (1980–2026). Its warmest month is October, averaging a high of 33°C, and its coldest is August, with an average low of 25°C.

Surabaya is the capital and largest city of East Java province and the second-largest city in Indonesia, after Jakarta. Located on the northeastern corner of Java island, on the Madura Strait, it is one of the earliest port cities in Southeast Asia. via Wikipedia

Surabaya average temperatures by month

Typical daily high and low, and average precipitation, for each month in Surabaya, East Java, Indonesia, based on 1980–2026 records. The wettest month is January (10 mm on an average day).

MonthAvg highAvg lowAvg precip
January 31°C 25°C 10 mm
February 31°C 25°C 10 mm
March 31°C 25°C 10 mm
April 31°C 26°C 8 mm
May 32°C 26°C 3 mm
June 31°C 25°C 3 mm
July 31°C 25°C 0 mm
August 31°C 25°C 0 mm
September 32°C 25°C 0 mm
October 33°C 26°C 3 mm
November 32°C 26°C 5 mm
December 31°C 26°C 10 mm

Each bar spans the 10th-percentile daily low to the 90th-percentile daily high (the range most days fall within), coloured cold → hot on a shared -23°C to 46°C scale, so the whole year's rhythm reads at a glance.

Thinking of visiting Surabaya?

Trips live and die by the weather. See how Surabaya's comfort stacks up against where you live. Surabaya is pre-loaded, just add your city.

Compare Surabaya's comfort with your city →

Record extremes

  • Hottest day on record: 36°C on 1987-11-01
  • Coldest day on record: 21°C on 1986-07-01

All Surabaya weather records →

Percentiles compare each day to Surabaya, East Java, Indonesia's own history, so grades are relative to this location: a “Near Record” day here isn't the same temperature as elsewhere. How the grades work →