The type of weather that may be experienced is quite an important consideration when planning a mainland safari. However it is even more important when planning a beach holiday - even the most idyllic stretch of beach loses its allure when it's raining.
The mainland beaches follow the same sort of weather pattern as does inland Tanzania, although there can be greater variability. Hence it is generally dry in the period June to October, before the 'short rains', and again in December to March, prior to the 'long rains'.
Zanzibar, however, being a fairly large island, can have its own independent weather pattern, which follows, although doesn't necessarily always conform to, the above.
The Long Rains fall from mid-March until the end of May. During this time, heavy showers fall in the early mornings but these usually clear up by mid-day, with the weather often remaining sunny and clear until late afternoon. By evening, significant cloud formations build, breaking sometime after dark and the rain often continues throughout the night.
Many lodges are closed during this time.
June or July, through October, are ideal months for visiting Zanzibar because the average temperature is a very comfortable 25 C, the air is dry and breezy and there is little rainfall.
These come intermittently throughout November and parts of December, sometimes stretching into early January. During the short rains, light showers in the mornings and late afternoons are punctuated by stretches of clear weather and beautiful rays of sunlight. The beginning of both rainy seasons is marked by a change in the winds which, historically, marked the time for trading boats to set off.
Here the days are hot and sunny with often not a cloud in the sky, and temperatures can range from the mid-twenties to the low thirties throughout the country. Clear sunny days are the norm, with clear night skies offering perfect opportunities for star-gazing or romantic evenings on the beach.
The average rainfall in Zanzibar is about 165 cm (65 inches) and the average temperature is 26 C (79 F).