Malaysia has an equatorial climate: hot, humid and wet in every month, with an average temperature of about 25.4 °C (77.7 °F) and roughly 2,500 mm (98 in) of rain a year across the country. There is no winter or summer. The year is set instead by two monsoons, the southwest monsoon from late May to September and the wetter northeast monsoon from October to March, which bring rain to different coasts at different times. Kuala Lumpur, on the sheltered west side of the peninsula, gets its heaviest rain in the changeover months of April and November. Kota Bharu on the east coast takes a battering in November and December, and Kuching in Sarawak is the wettest major city, with more than 4,000 mm a year. Only the mountains are cool: the Cameron Highlands average about 18 °C, and Mount Kinabalu in Sabah has recorded frost and, now and then, snow.
The Southwest and Northeast Monsoons Behind Malaysia’s Calendar
Peninsular Malaysia covers about 131,956 km², the southern part of the Malay Peninsula from the Thai border to the Johor Strait. East Malaysia, made up of Sabah, Sarawak and Labuan, covers the northern part of Borneo across the South China Sea and is the larger of the two halves. All of it lies within about seven degrees of the equator, so the midday sun is always high and day length hardly changes. The thermometer hardly shifts from one month to the next. What shifts is the wind.
From late May to September the southwest monsoon blows in. Wikipedia’s geography of Malaysia traces this airflow back to the deserts of Australia. It is relatively dry, and Sumatra and the peninsula’s Titiwangsa Mountains both shelter the west coast from it. From October to March the northeast monsoon takes over, carrying air from China and the North Pacific across the warm South China Sea. It is the stronger and wetter of the two, and it hits the east-facing coasts of Kelantan, Terengganu, Pahang, Sarawak and Sabah head-on. March and October are transition months. The winds are light and variable then, and afternoon thunderstorms build over land instead of arriving with a weather front.
El Niño years tend to cut rainfall in the drier part of the year. The haze that sometimes covers the Klang Valley does not come from Malaysian weather at all. It is smoke from forest and peat fires on Sumatra and in Kalimantan, blown across the Strait of Malacca and the South China Sea by the same monsoon winds.
For a step-by-step account of how these seasonal wind reversals work across Asia, see our explainer on what a monsoon is.
Kuala Lumpur and the Sheltered West Coast
Kuala Lumpur shows the west-coast pattern clearly. The Titiwangsa Range to the east and Sumatra to the west shield the capital from both monsoons, so its rain is spread fairly evenly through the year and tops out in the inter-monsoon months. In the 1991–2020 normals for Sultan Abdul Aziz Shah Airport, November is the wettest month at 355.8 mm and April comes second at 301.5 mm. June is the driest at 145.8 mm, and the yearly total is 2,847 mm.
The average daily high is between 32.0 °C in December and 33.7 °C in March and April, and the average low stays between 23.8 °C and 25.0 °C all year. The city’s climate article puts the lowest temperature ever recorded there at 17.8 °C. Wikipedia names the Klang Valley as one of the places on Earth where thunderstorms are most often observed. Short, violent downpours in the late afternoon are a normal part of the year, and they flood the city centre faster than the drains can cope.
That flooding problem shaped one of the capital’s biggest engineering projects, the city covered in our Kuala Lumpur guide. The SMART Tunnel (Stormwater Management And Road Tunnel) runs for 9.7 km from Kampung Berembang lake near the Klang River to Taman Desa lake near the Kerayong River. In dry weather it carries cars. During heavy storms its middle section is closed to traffic and turned over to floodwater. It is the longest stormwater tunnel in Southeast Asia, and it won a UN-Habitat Scroll of Honour in 2011.
Further north on the same coast, George Town on Penang averages about 2,477 mm a year and also gets haze from fires on Sumatra. Perlis, at the Thai border, holds the national heat record: 40.1 °C at Chuping on 9 April 1998. The driest station in the country is also on this side, at Sitiawan in Perak, which still gets 1,787 mm a year.
Kota Bharu and the East Coast’s November Deluge
Cross the Titiwangsa Range to Kelantan and the year looks completely different. Kota Bharu, near the mouth of the Kelantan River, faces the South China Sea and takes the full force of the northeast monsoon. Its climate table shows a dry-ish February with only 69.0 mm of rain, steady months of 90–165 mm through the middle of the year, then a sudden jump: 267.4 mm in October, 676.9 mm in November and 572.4 mm in December. Those last two months bring in about 46% of the yearly 2,698 mm. The number of rain days goes up in step, from 4.7 in February to 20.5 in November.
Malaysia’s one-day rainfall record was set here. On 6 January 1967, 608 mm fell on Kota Bharu, about 1.7 times what Kuala Lumpur gets in November, its wettest month. Flooding along the Kelantan, Terengganu and Pahang rivers comes back in most monsoon seasons, and the worst in recent decades lasted from 15 December 2014 to 3 January 2015. More than 500,000 people across Malaysia were affected, about 354,800 of them in Kelantan. Rivers in Kelantan, Pahang, Perak and Terengganu reached danger levels, and KTM trains on the East Coast Line stopped running.
The east coast is also sunnier than people expect outside the monsoon. Kota Bharu averages about 2,150 hours of sunshine a year, with 214 hours in April. Outside the monsoon, the islands off Terengganu and Kelantan, such as Redang and the Perhentians, get their calmest seas.
Kuching, Sabah and the Wetter Climate of Borneo
East Malaysia’s climate is more maritime than the peninsula’s, because it is not exposed to air coming off the Asian mainland. It is also wetter. Kuching, the capital of Sarawak, averages 4,232.7 mm a year in its 1991–2020 table and has measurable rain on about 210 days. Wikipedia’s geography of Malaysia names Kuching as the country’s wettest place. Its wettest month is January, with 672.3 mm, which shows that the northeast monsoon peaks in western Borneo a little later than in Kelantan. July is the driest month and still gets 200.9 mm. The average high varies only between 30.0 °C and 32.7 °C.
Sabah, further north and east, is different again. Kota Kinabalu on the west coast of Sabah gets 2,718 mm a year. Its wettest month is October at 387.3 mm and its driest is February at 78.1 mm, so the city is wettest from May to December and much drier from February to April, a different pattern from Kuching’s. The extremes also come from Sabah. Sandakan holds the national record for one year, with 5,687 mm in 2006. Tawau holds the opposite record, with just 1,151 mm in 1997, during the powerful 1997–98 El Niño.
Cameron Highlands and Mount Kinabalu: Where Malaysia Gets Cold
Altitude is the only thing that really cools Malaysia down. The Cameron Highlands in Pahang, a hill station in the Titiwangsa Range, average 17–19 °C every month. Daytime highs there reach only 21–23 °C, against 32–33 °C in Kuala Lumpur. Rain is heavy, roughly 2,540 mm a year with an October peak of 334.7 mm, and Wikipedia’s geography of Malaysia notes that humidity in the highlands does not fall below 75%. The record low in the Cameron Highlands is 7.8 °C, measured at 1,471.6 m on 1 February 1978.
Mount Kinabalu in Sabah goes much further. At 4,095 m (13,436 ft) it is the highest mountain in Malaysia, and its summit area has a climate that would not look out of place in the Alps. Snow has been recorded there in 1975, 1993, 2018 and 2022. Wikipedia gives the lowest temperature ever measured in Malaysia as −5 °C on Kinabalu, on 7 April 2023. Below the summit, cloud forms over the forest almost every day. The slopes go from lowland dipterocarp rainforest to montane cloud forest, which is part of why Kinabalu Park became Malaysia’s first UNESCO World Heritage Site in December 2000.
Malaysia’s Weather Records, from Chuping to Sandakan
Put the station data together and Malaysia’s range looks narrow compared with temperate countries, but each extreme has a clear cause:
- Highest temperature: 40.1 °C (104.2 °F) at Chuping, Perlis, on 9 April 1998.
- Lowest temperature: −5 °C (23 °F) on Mount Kinabalu, 7 April 2023. In the lowlands, Kuala Lumpur has never gone below 17.8 °C.
- Wettest day: 608 mm at Kota Bharu, Kelantan, on 6 January 1967.
- Wettest year: 5,687 mm at Sandakan, Sabah, in 2006.
- Driest year: 1,151 mm at Tawau, Sabah, in 1997.
- Wettest city on average: Kuching, Sarawak, at about 4,200 mm a year.
- Driest station on average: Sitiawan, Perak, at 1,787 mm a year.
Climate change will probably make these extremes worse. The geography of Malaysia article expects rising sea levels, heavier rainfall and more flooding, along with longer droughts. Those are serious risks for a country whose capital sits in a flood-prone river valley and whose east-coast states already flood in most monsoon seasons.
In practice, the right month to visit depends on which coast you mean. Penang, Langkawi and Kuala Lumpur are at their driest early in the year, while the Perhentians, Redang and much of Sabah are best from about March to September. Those coast-by-coast windows are mapped month by month in our best time to visit Malaysia guide.
