Kuala Lumpur is three degrees north of the equator. The average high is around 32°C in January and around 32°C in July, and it is humid all year.

There is no best season on temperature grounds. What varies is rain, haze and festivals.

Rain

Wettest at the monsoon transitions: roughly March to April and October to November.

Drier, relatively, from May to September and in January to February.

But the daily pattern matters more than the monthly one: clear morning, building cloud, heavy thunderstorm in the afternoon, clear evening, most days of the year. Plan outdoors in the morning.

The haze

Roughly June to October, in some years. Smoke from land-clearing fires in the region can push the Air Pollutant Index into unhealthy or hazardous ranges, reduce visibility to a few hundred metres, and make the observation decks pointless.

It is not every year. Check the API before booking a high viewpoint, and take it seriously if you have a respiratory condition. Detail in the heat, the haze and the monsoon.

The festivals

These matter more than the weather, and Malaysia has more public holidays than almost any country because it observes the festivals of all its communities.

Thaipusam (January or February) — the Tamil festival, with the silver chariot procession from Sri Mahamariamman to Batu Caves and around a million people. Extraordinary and enormously crowded.

Chinese New Year (late January or February) — two weeks of it. Thean Hou Temple is strung with thousands of lanterns. Many Chinese-run businesses close for several days and travel is very heavy.

Ramadan (moves through the year on the lunar calendar) — the Ramadan bazaars in the afternoons are the best street food of the year. Many Malay restaurants close in daylight; the rest of the city carries on. Eating and drinking in the street in daylight is impolite rather than illegal.

Hari Raya Aidilfitri — the end of Ramadan, two public holidays, and the biggest travel period of the year. Balik kampung — everyone goes home to their village — empties Kuala Lumpur and fills every road, train and flight. The city is unusually quiet and many businesses close.

Wesak Day (May) — Buddhist, with a procession from Brickfields.

Merdeka Day (31 August) and Malaysia Day (16 September) — parades at Merdeka Square.

Deepavali (October or November) — Brickfields at its best.

Prices

There is no strong high season, but rates and flights rise around Chinese New Year, Hari Raya, Deepavali, and Malaysian and Singaporean school holidays.

Cheapest: the wettest and haziest weeks, which is a fair trade if views are not the point.

The short version

Come whenever suits you. Check the API if you are going up a tower, check the festival calendar so you do not miss something extraordinary or get caught by mass closures, and plan every day with the storm in it.