South Africa is a fabulous all year-round destination so when you visit depends on what you would like to do.
If you want to lounge on the beaches, midsummer is the best time to do so, though bear in mind that everyone else will be there too. The beaches of KwaZulu-Natal are warm and sunny, even in midwinter (July). However, the Western Cape has a Mediterranean climate and the best time for visiting beaches are from mid-November to about the end of April.
The diving is generally best from April to September, and so is the surfing, but these activities are by no means limited to these periods.
Flowers are at their best in August and September. River rafting is better at the end of winter in the Cape; and in summer (late November to February) in KwaZulu-Natal.
The experts say the best time for game watching is early spring (August to October), but game watching has become an all-year activitiy which is more than often combined with beach excursions. The southern right whales can be seen off our coasts from about mid-June to the end of October, and the humpback whales from August to December.
In provinces such as Mpumalanga and Limpopo, activities are not quite as time-dependent but spring and autumn are best for hiking since summer can be very hot.
Many of the best areas to visit can be quite busy in peak season. For example, the coast tends to be a bit crowded around Christmas and New Year, when all the schools are on holiday, the universities are out and many local people take their annual leave. Another major peak is over Easter – when the schools are also on holiday and, once again, many people take their leave so they can spend holidays with their children.
If you’re looking for peace and quiet – this is not the time to visit. A major advantage of travelling out of peak season, of course, is the availability of special out of season deals.