Best time to visit Bali
Best month to visit Bali
Bali is warm all year, so the question is not temperature, it is rain, crowds, and price. The dry season runs April to October, the wet season November to March, and the best balance of dry weather, lighter crowds, and lower rates falls in May, June, and September.
Weather, crowds, and prices by month
Monthly figures are long-term averages for Denpasar from the WMO World Weather Information Service, based on data supplied by BMKG, Indonesia's meteorological agency, for 1961 to 1990. Crowd and price levels are approximate guidance from tourism sources. Ubud and the highlands run cooler than Denpasar: temperatures fall about 1 C for every 90 metres of altitude.
| Month | Avg high | Avg low | Rainfall | Rain days | Crowds | Prices |
|---|---|---|---|---|---|---|
| January | 33.0 C | 24.1 C | 345 mm | 27 | Low (after New Year) | Low |
| February | 33.4 C | 24.2 C | 274 mm | 22 | Low | Low |
| March | 33.6 C | 24.0 C | 234 mm | 20 | Low | Low |
| April | 34.4 C | 24.8 C | 88 mm | 9 | Moderate | Shoulder |
| May | 33.1 C | 24.1 C | 93 mm | 8 | Moderate | Shoulder |
| June | 31.4 C | 23.5 C | 53 mm | 6 | Moderate | Shoulder |
| July | 30.4 C | 23.0 C | 55 mm | 4 | Peak | Peak |
| August | 29.6 C | 22.5 C | 25 mm | 4 | Peak | Peak |
| September | 31.4 C | 22.9 C | 47 mm | 8 | Moderate | Shoulder |
| October | 33.6 C | 23.7 C | 63 mm | 12 | Moderate | Shoulder |
| November | 32.7 C | 23.5 C | 179 mm | 16 | Low | Low |
| December | 33.0 C | 23.5 C | 276 mm | 22 | Peak over Christmas | Peak over Christmas |
The short answer
Best overall: May, June, and September. Dry weather, lighter crowds, and lower rates than the July and August peak. These are the shoulder months that travel guides consistently name as the sweet spot.
Best weather: August. The driest month (25 mm over 4 rain days) and the coolest (29.6 C average high, 22.5 C average low). It is also the busiest month, with about 602,000 foreign visitors in August 2019, the second highest month that year.
Cheapest: January to March and November. Wet season rates are lowest, and peak-season prices run 30 to 45 percent above shoulder-season rates. The rain comes in short heavy showers, often in the afternoon, with green rice fields and far fewer visitors in return.
Dry season: April to October
The dry season runs April to October, with the best beach weather from May to September. June to October every month stays at or below 63 mm of rain. April is the hottest month on the long-term averages (34.4 C average high), though more recent datasets put April closer to 31 C. July and August are the peak tourist months, plus the Christmas and New Year holidays: about 604,000 foreign visitors arrived in July 2019, the highest month that year. Book early for July and August, and expect the highest hotel rates.
Wet season: November to March
The wet season runs November to March. January is the wettest month (345 mm over 27 rain days) and February and December follow. Showers are usually short and heavy, often in the afternoon, and mornings are frequently dry. The island is at its greenest, rice terraces are full, and waterfalls run strongest. Hotel rates are at their lowest outside the Christmas and New Year window, when prices spike despite the rain. Ubud is pleasant year round, and the wet season suits travellers who prioritise price and quiet over guaranteed sun.
About the data: the figures above are long-term station averages for Denpasar, 1961 to 1990, from the WMO and BMKG. They describe the pattern, not a forecast. More recent datasets (WeatherSpark, weather2travel) run a few degrees cooler and drier, but all agree on the pattern: January wettest, August driest, and only a small temperature swing across the year. Denpasar describes southern Bali; the northern coast and the highlands differ, and Ubud sits about 600 m above sea level, so it runs cooler.
Plan your stay
For what stays cost in each area, see the Bali hotel prices page and the monthly price index. For where to base yourself, take the area quiz or compare Ubud, Seminyak, and Canggu side by side.