Bolivia's geography is so varied — from altiplano at 4,000 metres to Amazon rainforest near sea level — that no single time of year is perfect for everything. That said, the dry season from May to October is the best all-round window for most visitors.
May to October (dry season) brings clear skies, crisp air, and passable roads in the highlands. The Andes are at their most photogenic, trekking is straightforward, and you won't get stuck behind a flooded river or a landslide. Nights in June and July are genuinely cold on the altiplano — below zero in places — so pack warm layers. The same period works well for Santa Cruz and the lowland cities, which avoid the worst of the summer heat and humidity.
November to March (wet season) means rain in the highlands and serious flooding in the lowlands. Roads close, flights get delayed, and some rural areas become inaccessible. But the wet season has its own appeal: the vegetation turns intensely green, rivers fill for rafting and kayaking, and — most famously — the Salar de Uyuni floods to a shallow film of water that creates a perfect mirror reflection of the sky. If photographing the salt flats is your main reason for coming, January to March is when to go.
Carnaval in February is the one time of year many people specifically plan around. Oruro's Carnaval is one of the great spectacles of South America — a UNESCO-listed event with tens of thousands of costumed dancers parading through the streets for two days straight. Book accommodation months ahead if you want to be there.
Easter week brings much of the country to a standstill. Many businesses close and transport fills up fast — not the ideal time to be catching buses between cities.
April and the October-November shoulder months are underrated: the rains have either just ended or haven't yet begun, prices are lower, crowds are thinner, and the light is beautiful.