The best time to come will depend on where you want to go and what you want to do when you get here.
January
On either side of the New Year celebrations, South Africans descend on tourist areas, including the coast and national parks for the summer school holidays (early December to mid-January). Book accommodations and transport far in advance. The peak season for accommodations is November to March.
Key events: Cape Town Minstrel Carnival (Kaapse Klopse)
February
Summer continues through February, with hot weather, crowds basking happily on the southern beaches and, thanks to its subtropical climate and high elevation, dramatic lightning storms in Jo'burg. For something a little different, there’s the four-day Up the Creek Festival in Swellendam in the Western Cape, where you can float along the Breede River while bands play on the river’s banks.
Key events: Hands-on-Harvest, Up the Creek Festival, Ultra South Africa, Cape Town Pride Week
March
The summer rolls toward fall, but days are still sunny in the Cape. The Lowveld (open grassland and woodland areas between 150m and 610m above sea level) is steamy and warm, and the landscapes are lush and green; the Highveld, at higher altitude, is slightly cooler. This time of year is especially good for walking and beach bumming in the Western Cape. Cultural and music festivals happen in Cape Town and Jo'burg.
Key events: Cape Town Cycle Tour, Cape Town International Jazz Festival, Klein Karoo Nasionale Kunstefees
April
There's a two-week school vacation around Easter, generally regarded as the beginning of the short fall season; accommodations need to be booked well in advance. Days are still warm and nights begin to cool. Much of South Africa sees the end of the rainy season, with rivers full and flora lush.
Though you can still lie on the beach, the drier weather makes wildlife-watching in the bushveld a more attractive option. The rutting season for impala — one of South Africa’s most abundant antelopes — begins in April, with displays of dominance (like the clashing of horns) increasing as the days get shorter.
Key events: AfrikaBurn
May
In the first official month of winter, nighttime temperatures drop, and tourism slows. It’s still beach weather in Durban and along the KwaZulu-Natal coast, but snow may fall in the highlands. The end of the rains in most parts of the country means safari conditions start to improve.
Key events: Franschhoek Literary Festival
June
Winter brings cooling temperatures and – especially in Cape Town and the Western Cape – a good chance of rain. June is the coldest month in Johannesburg, with daytime temperatures around 16°C (60°F), falling to about 4°C (40°F) at night. Don't let that put you off: safari conditions are still great in the dry north.
Key events: National Arts Festival
July
Winter brings rain to the Cape and clouds to Table Mountain (there’s even a chance you might get snow), but plenty of days will see some sunshine. Rougher winter seas make boat trips (even to Robben Island, the former political prison just off Cape Town) less pleasant, and trips may be canceled altogether during squalls.
Northern areas experience fresh, sunny days and clear night skies. Early winter mornings can be cold with temperatures close to freezing, but afternoon highs can creep up towards 18°C (65°F). This is the middle of the June to September low season (apart from the mid-June to mid-July school holidays), but winter is a great time for safaris.
Key events: Knysna Oyster Festival, J-Bay Open, Durban International Film Festival
August
Signs of spring are in the air in South Africa in August. Head to the west coast and the north to see wildflowers: mid-August to mid-September is usually the best time. Kruger National Park and the northern reserves remain pleasantly dry, and the soccer, rugby and cricket seasons typically begin in August.
Key events: Namakwa wildflowers
September
In September, the rainy season in the Western Cape eases off, and Jo’burg and the north often see their first big rains. Temperatures in Cape Town and Jo'burg are mild; cherry trees bloom in the south, and wildflowers reach their peak in mid-September. Safari parks remain a top draw with many baby animals born in spring. School holidays run from late September to early October, increasing demand for accommodation. It's also a good time for whale-watching at Hermanus.
Key events: Festival of Motoring Johannesburg, Winelands Chocolate Festival, Hermanus Whale Festival
October
October offers mostly sunny weather but you'll avoid the worst of the summer crowds and peak prices. Book accommodations in advance during the 10-day South African school holiday beginning in late September and stretching into early October. Whale-watching can be excellent at this time of year.
Key events: Macufe African Cultural Festival, Durban Bierfest
November
As spring drifts into summer, it’s the peak time to see grassland wildflowers in the Drakensberg mountains and the end of whale season off the Cape. Free State’s Ficksburg, known as Cherry Town, has a cherry-centered festival during the third week of November.
The rain and humidity start to increase around Kruger and in KwaZulu-Natal. It’s no longer cold but not uncomfortably hot in the semi-arid desert of Karoo National Park, with highs around 27°C (80°F) and lows around 10°C (50?). November is when the high season begins, so expect higher prices and crowds.
Key events: Kirstenbosch Summer Sunset Concerts, Ficksburg Cherry Festival
December
The hot, dry days pick up as the South African summer officially gets cooking in December. Music festival AFROPUNK in Johannesburg is the perfect big-time kickoff to the city’s music festival season, while Durban celebrates its street food scene and craft distilleries with the annual Street Food Festival.
Key events: AFROPUNK, Durban Street Food Festival
Source: https://www.lonelyplanet.com/articles/best-time-to-visit-south-africa