When to go · South Africa
South Africa in December
Mixed month. Peak domestic holiday: coast, Garden Route and park camps full; book 6–12 months ahead.
Key facts
- Verdict
- Mixed
- Crowds
- High
- South Africa
- Prices
- High
- South Africa
Verdict
Peak domestic holiday: coast, Garden Route and park camps full; book 6–12 months ahead.
Is another month better than December?
December is rated mixed. These months rate higher:
- AprilGreatEaster holidays fill parks; otherwise a good month for Cape plus Kruger.
- MayGreatDry season starts in Kruger; first Cape rains. Good value.
- AugustGreatNamaqualand flowers start late in the month; Kruger excellent.
- SeptemberGreatCape spring and flowers, whales in Walker Bay, Kruger at its driest. Heritage Day 24 Sep.
Weather in December
- Western Cape · Cape Town, Winelands, Hermanus, Cederbergbest weather
Mediterranean: dry, windy summers (the south-easter can close the cableway), wet cold fronts June–August. Whales off Hermanus about June–November.
- Garden Route · Mossel Bay, Knysna, Plettenberg Bay, Tsitsikammabest weather
Rain in every month, mild temperatures; December school holidays fill every bed.
- Kruger and the Lowveld · Kruger, Sabi Sand, Timbavati, Panorama Routerainy
Dry winter May–September is the game-viewing season; summer storms, 35 °C (95 °F) heat and higher malaria risk November–March, but green landscapes and baby animals.Dry winter May–September is the game-viewing season; summer storms, 95 °F (35 °C) heat and higher malaria risk November–March, but green landscapes and baby animals.
- Highveld · Johannesburg, Pretoriarainy
At 1,750 m: afternoon thunderstorms in summer, sunny frosty winters.
- KwaZulu-Natal coast · Durban, iSimangaliso, Hluhluwehot
Warm sea all year; humid summers; winter is the best time for the parks.
- Drakensberg · uKhahlamba-Drakensberg, Golden Gaterainy
Summer thunderstorms most afternoons; winter snow on the high peaks.
- Atlantic Seaboard: Atlantic Seaboard coast · From Green Point to Cape Pointcool
Mediterranean climate: dry summers (Dec–Feb), wet winters (Jun–Aug). Summer temperatures 20–28 °C (68–82 °F); winter 10–18 °C (50–64 °F). Strong south-easterly wind (the 'Cape Doctor') blows Nov–Feb, mostly in the afternoon.Mediterranean climate: dry summers (Dec–Feb), wet winters (Jun–Aug). Summer temperatures 68–82 °F (20–28 °C); winter 50–64 °F (10–18 °C). Strong south-easterly wind (the 'Cape Doctor') blows Nov–Feb, mostly in the afternoon.
- Blaauwberg Coast: Blaauwberg Coast · West coast north of Cape Townbest weather
Summer (Nov–Mar) is hot and windy; winter (Jun–Aug) is cool and wet with fewer wind days.
- Breede River Valley: Breede River Valley · Inland Western Capefine
Summer (Dec–Feb) averages 30 °C (86 °F), peaks near 40 °C (104 °F). Winter (Jun–Aug) colder than the coast, light frost possible. Spring and autumn mild.Summer (Dec–Feb) averages 86 °F (30 °C), peaks near 104 °F (40 °C). Winter (Jun–Aug) colder than the coast, light frost possible. Spring and autumn mild.
- Eastern Cape: Coast (Gqeberha, East London, Wild Coast) · Indian Ocean seaboardbest weather
Warm and mild year-round; rain falls mostly in spring and autumn. Summer (Dec–Feb) is hot and busy.
- Eastern Cape: Inland (Graaff-Reinet, Karoo) · Karoo plateauhot
Semi-desert: hot summer days, cold winter nights, and the best game viewing in the dry winter months.
- False Bay: False Bay coast · Muizenberg to Gordon's Baycool
Mediterranean climate; summer (Dec–Feb) is warm and dry, winter (Jun–Aug) is cool and wet. Water temperature 14–20 °C (57–68 °F) year-round.Mediterranean climate; summer (Dec–Feb) is warm and dry, winter (Jun–Aug) is cool and wet. Water temperature 57–68 °F (14–20 °C) year-round.
- Free State: Free State highveld · Bloemfontein and the central plateaurainy
Summer rain falls as brief afternoon thunderstorms; winters are cold and dry with severe frost in Bloemfontein. The east (Harrismith, Bethlehem, Ficksburg) gets snow on the higher ranges.
- Gauteng: Highveld (Johannesburg and Tshwane) · Whole province, about 1,700 mrainy
Summer rain falls as short, intense afternoon thunderstorms with lightning; winter nights drop to just above freezing while days stay comfortable. Tshwane runs 2–3 °C (4–5 °F) warmer than Johannesburg.Summer rain falls as short, intense afternoon thunderstorms with lightning; winter nights drop to just above freezing while days stay comfortable. Tshwane runs 4–5 °F (2–3 °C) warmer than Johannesburg.
- KwaZulu-Natal: Durban and the coast · Indian Ocean seaboard from the South Coast to Richards Baybest weather
Subtropical and humid; sea is warm enough to swim most of the year. Summer (Dec–Feb) is hot and wet with afternoon storms; winter (Jun–Aug) is mild and dry.
- KwaZulu-Natal: Zululand and the far north · Hluhluwe-iMfolozi, iSimangaliso, Sodwana Bayrainy
Best game viewing in the dry winter (May–Sep) when bush is thin; summer is green, hot and humid with malaria risk in the far north.
- KwaZulu-Natal: Drakensberg and Midlands · Inland highlandsbest weather
Cooler year-round; snow possible on high peaks Jun–Aug. Afternoon thunderstorms are common in summer — hike early.
- Limpopo: Lowveld and Kruger north · Hoedspruit, Phalaborwa, Giyanihot
Hot and humid October to March, with summer highs in the low 30s °C and Phalaborwa known to reach the mid 40s; the dry, mild winter from May to September is the best game-viewing window as vegetation thins.
- Limpopo: Highveld and mountains · Polokwane, Tzaneen, Haenertsburg, Soutpansbergfine
Summer temperatures around 27 °C (81 °F) and cooler nights up in the Soutpansberg; winter mornings can be cold at altitude.Summer temperatures around 81 °F (27 °C) and cooler nights up in the Soutpansberg; winter mornings can be cold at altitude.
- Mpumalanga: Lowveld (Mbombela, Hazyview, southern Kruger) · 300–700 mrainy
Hot and humid in summer (Nov–Mar), with afternoon thunderstorms; winter (May–Aug) is dry, sunny and the best game-viewing window because the bush thins out. Nights can drop near freezing in June–July.
- Mpumalanga: Escarpment (Graskop, Sabie, Dullstroom, Lydenburg) · 1,000–2,100 mrainy
Cooler and wetter than the lowveld; mist and rain are common in summer, and winter mornings are cold — bring a jacket even in the lowveld's warm season.
- North West Province: Highveld (whole province) · Rustenburg, Pilanesberg, Mahikengrainy
Summer (Oct–Apr) 17–31 °C (63–88 °F) with afternoon thunderstorms; winter (May–Aug) 3–21 °C (37–70 °F), dry and clear, cold at dawn on game drives.Summer (Oct–Apr) 63–88 °F (17–31 °C) with afternoon thunderstorms; winter (May–Aug) 37–70 °F (3–21 °C), dry and clear, cold at dawn on game drives.
- Northern Cape: Namakwa and the N7 · Springbok, Namaqualandhot
Winter-rainfall corner; wildflower season is roughly August to September and depends on that year's rain.
- Northern Cape: Kalahari and Orange River · Upington, Kgalagadihot
Best game viewing in the cool, dry months (May–Sep); summer days are very hot.
- Northern Cape: Diamond Fields · Kimberleyhot
Year-round city stop; spring and autumn are the most comfortable.
- Swartland: Swartland · Inland plainscool
Winter (Jun–Aug) is the rainy season; summer (Dec–Feb) is dry and hot, 30–35 °C (86–95 °F). Spring (Aug–Sep) is best for wildflowers.Winter (Jun–Aug) is the rainy season; summer (Dec–Feb) is dry and hot, 86–95 °F (30–35 °C). Spring (Aug–Sep) is best for wildflowers.
- Cape Town25 °C (77 °F) / 15 °C (59 °F), 5 rain days77 °F (25 °C) / 59 °F (15 °C), 5 rain days
- Aberdeen33 °C (91 °F) / 15 °C (59 °F), 5 rain days91 °F (33 °C) / 59 °F (15 °C), 5 rain days
- Addo29 °C (84 °F) / 18 °C (64 °F), 5 rain days84 °F (29 °C) / 64 °F (18 °C), 5 rain days
- Alexander Bay27 °C (81 °F) / 13 °C (55 °F), 1 rain days81 °F (27 °C) / 55 °F (13 °C), 1 rain days
- Aliwal North30 °C (86 °F) / 15 °C (59 °F), 8 rain days86 °F (30 °C) / 59 °F (15 °C), 8 rain days
- Amandawe28 °C (82 °F) / 21 °C (70 °F), 12 rain days82 °F (28 °C) / 70 °F (21 °C), 12 rain days
- Amanzimtoti27 °C (81 °F) / 21 °C (70 °F), 8 rain days81 °F (27 °C) / 70 °F (21 °C), 8 rain days
- Augrabies36 °C (97 °F) / 19 °C (66 °F), 2 rain days97 °F (36 °C) / 66 °F (19 °C), 2 rain days
- Badplaas28 °C (82 °F) / 16 °C (61 °F), 14 rain days82 °F (28 °C) / 61 °F (16 °C), 14 rain days
- Ballito27 °C (81 °F) / 20 °C (68 °F), 10 rain days81 °F (27 °C) / 68 °F (20 °C), 10 rain days
- Barberton27 °C (81 °F) / 15 °C (59 °F), 8 rain days81 °F (27 °C) / 59 °F (15 °C), 8 rain days
- Barkly West27 °C (81 °F) / 11 °C (52 °F), 5 rain days81 °F (27 °C) / 52 °F (11 °C), 5 rain days
- Barrydale31 °C (88 °F) / 15 °C (59 °F), 4 rain days88 °F (31 °C) / 59 °F (15 °C), 4 rain days
- Bathurst26 °C (79 °F) / 15 °C (59 °F), 8 rain days79 °F (26 °C) / 59 °F (15 °C), 8 rain days
- Beaufort West33 °C (91 °F) / 16 °C (61 °F), 3 rain days91 °F (33 °C) / 61 °F (16 °C), 3 rain days
- Belfast, Mpumalanga22 °C (72 °F) / 11 °C (52 °F), 14 rain days72 °F (22 °C) / 52 °F (11 °C), 14 rain days
- Bergville28 °C (82 °F) / 14 °C (57 °F), 14 rain days82 °F (28 °C) / 57 °F (14 °C), 14 rain days
- Bethlehem23 °C (73 °F) / 9 °C (48 °F), 5 rain days73 °F (23 °C) / 48 °F (9 °C), 5 rain days
- Bitterfontein29 °C (84 °F) / 14 °C (57 °F), 2 rain days84 °F (29 °C) / 57 °F (14 °C), 2 rain days
- Bloemfontein31 °C (88 °F) / 14 °C (57 °F), 10 rain days88 °F (31 °C) / 57 °F (14 °C), 10 rain days
- Bloemhof32 °C (90 °F) / 18 °C (64 °F), 7 rain days90 °F (32 °C) / 64 °F (18 °C), 7 rain days
- Bloubergstrand26 °C (79 °F) / 16 °C (61 °F), 3 rain days79 °F (26 °C) / 61 °F (16 °C), 3 rain days
- Blyde River Canyon29 °C (84 °F) / 15 °C (59 °F), 6 rain days84 °F (29 °C) / 59 °F (15 °C), 6 rain days
- Boulders Beach26 °C (79 °F) / 15 °C (59 °F), 7 rain days79 °F (26 °C) / 59 °F (15 °C), 7 rain days
- Caledon26 °C (79 °F) / 14 °C (57 °F), 5 rain days79 °F (26 °C) / 57 °F (14 °C), 5 rain days
- Camps Bay25 °C (77 °F) / 16 °C (61 °F), 3 rain days77 °F (25 °C) / 61 °F (16 °C), 3 rain days
- Centurion28 °C (82 °F) / 14 °C (57 °F), 7 rain days82 °F (28 °C) / 57 °F (14 °C), 7 rain days
- Cintsa26 °C (79 °F) / 15 °C (59 °F), 6 rain days79 °F (26 °C) / 59 °F (15 °C), 6 rain days
- Clarens28 °C (82 °F) / 14 °C (57 °F), 10 rain days82 °F (28 °C) / 57 °F (14 °C), 10 rain days
- Coffee Bay26 °C (79 °F) / 18 °C (64 °F), 10 rain days79 °F (26 °C) / 64 °F (18 °C), 10 rain days
- Colesberg32 °C (90 °F) / 16 °C (61 °F), 6 rain days90 °F (32 °C) / 61 °F (16 °C), 6 rain days
- Cradock27 °C (81 °F) / 14 °C (57 °F), 6 rain days81 °F (27 °C) / 57 °F (14 °C), 6 rain days
- Darling29 °C (84 °F) / 15 °C (59 °F), 3 rain days84 °F (29 °C) / 59 °F (15 °C), 3 rain days
- Dullstroom20 °C (68 °F) / 6 °C (43 °F), 8 rain days68 °F (20 °C) / 43 °F (6 °C), 8 rain days
- Dundee23 °C (73 °F) / 9 °C (48 °F), 5 rain days73 °F (23 °C) / 48 °F (9 °C), 5 rain days
- Durban27 °C (81 °F) / 20 °C (68 °F), 15 rain days81 °F (27 °C) / 68 °F (20 °C), 15 rain days
- East London25 °C (77 °F) / 17 °C (63 °F), 8 rain days77 °F (25 °C) / 63 °F (17 °C), 8 rain days
- Eshowe30 °C (86 °F) / 20 °C (68 °F), 12 rain days86 °F (30 °C) / 68 °F (20 °C), 12 rain days
- Estcourt28 °C (82 °F) / 17 °C (63 °F), 12 rain days82 °F (28 °C) / 63 °F (17 °C), 12 rain days
- Ficksburg27 °C (81 °F) / 11 °C (52 °F), 6 rain days81 °F (27 °C) / 52 °F (11 °C), 6 rain days
- Fish Hoek25 °C (77 °F) / 16 °C (61 °F), 5 rain days77 °F (25 °C) / 61 °F (16 °C), 5 rain days
- Franschhoek28 °C (82 °F) / 15 °C (59 °F), 3 rain days82 °F (28 °C) / 59 °F (15 °C), 3 rain days
- Gansbaai26 °C (79 °F) / 16 °C (61 °F), 8 rain days79 °F (26 °C) / 61 °F (16 °C), 8 rain days
- Gariep Dam30 °C (86 °F) / 15 °C (59 °F), 7 rain days86 °F (30 °C) / 59 °F (15 °C), 7 rain days
- George26 °C (79 °F) / 17 °C (63 °F), 5 rain days79 °F (26 °C) / 63 °F (17 °C), 5 rain days
- Giyani33 °C (91 °F) / 20 °C (68 °F), 10 rain days91 °F (33 °C) / 68 °F (20 °C), 10 rain days
- Gordon's Bay25 °C (77 °F) / 15 °C (59 °F), 3 rain days77 °F (25 °C) / 59 °F (15 °C), 3 rain days
- Graaff-Reinet31 °C (88 °F) / 14 °C (57 °F), 5 rain days88 °F (31 °C) / 57 °F (14 °C), 5 rain days
- Grahamstown26 °C (79 °F) / 14 °C (57 °F), 8 rain days79 °F (26 °C) / 57 °F (14 °C), 8 rain days
- Graskop27 °C (81 °F) / 17 °C (63 °F), 12 rain days81 °F (27 °C) / 63 °F (17 °C), 12 rain days
- Haenertsburg27 °C (81 °F) / 17 °C (63 °F), 12 rain days81 °F (27 °C) / 63 °F (17 °C), 12 rain days
- Haga Haga25 °C (77 °F) / 17 °C (63 °F), 8 rain days77 °F (25 °C) / 63 °F (17 °C), 8 rain days
- Hankey29 °C (84 °F) / 19 °C (66 °F), 6 rain days84 °F (29 °C) / 66 °F (19 °C), 6 rain days
- Hartebeespoort27 °C (81 °F) / 12 °C (54 °F), 5 rain days81 °F (27 °C) / 54 °F (12 °C), 5 rain days
- Hazyview29 °C (84 °F) / 18 °C (64 °F), 13 rain days84 °F (29 °C) / 64 °F (18 °C), 13 rain days
- Hermanus23 °C (73 °F) / 14 °C (57 °F), 6 rain days73 °F (23 °C) / 57 °F (14 °C), 6 rain days
- Hluhluwe28 °C (82 °F) / 19 °C (66 °F), 5 rain days82 °F (28 °C) / 66 °F (19 °C), 5 rain days
- Hoedspruit29 °C (84 °F) / 14 °C (57 °F), 11 rain days84 °F (29 °C) / 57 °F (14 °C), 11 rain days
- Hogsback23 °C (73 °F) / 12 °C (54 °F), 9 rain days73 °F (23 °C) / 54 °F (12 °C), 9 rain days
- Hout Bay25 °C (77 °F) / 15 °C (59 °F), 3 rain days77 °F (25 °C) / 59 °F (15 °C), 3 rain days
- Howick24 °C (75 °F) / 15 °C (59 °F), 8 rain days75 °F (24 °C) / 59 °F (15 °C), 8 rain days
- Humansdorp25 °C (77 °F) / 15 °C (59 °F), 6 rain days77 °F (25 °C) / 59 °F (15 °C), 6 rain days
- Irene27 °C (81 °F) / 15 °C (59 °F), 5 rain days81 °F (27 °C) / 59 °F (15 °C), 5 rain days
- Jansenville32 °C (90 °F) / 16 °C (61 °F), 5 rain days90 °F (32 °C) / 61 °F (16 °C), 5 rain days
- Jeffreys Bay25 °C (77 °F) / 17 °C (63 °F), 6 rain days77 °F (25 °C) / 63 °F (17 °C), 6 rain days
- Johannesburg25.5 °C (78 °F) / 14.5 °C (58 °F), 13 rain days78 °F (25.5 °C) / 58 °F (14.5 °C), 13 rain days
- Kalk Bay26 °C (79 °F) / 14 °C (57 °F), 3 rain days79 °F (26 °C) / 57 °F (14 °C), 3 rain days
- Kei Mouth27 °C (81 °F) / 17 °C (63 °F), 8 rain days81 °F (27 °C) / 63 °F (17 °C), 8 rain days
- Kenton-on-Sea26 °C (79 °F) / 15 °C (59 °F), 7 rain days79 °F (26 °C) / 59 °F (15 °C), 7 rain days
- Khayelitsha26 °C (79 °F) / 15 °C (59 °F), 7 rain days79 °F (26 °C) / 59 °F (15 °C), 7 rain days
- Kimberley28 °C (82 °F) / 15 °C (59 °F), 1 rain days82 °F (28 °C) / 59 °F (15 °C), 1 rain days
- King William's Town27 °C (81 °F) / 17 °C (63 °F), 10 rain days81 °F (27 °C) / 63 °F (17 °C), 10 rain days
- Kleinmond25 °C (77 °F) / 15 °C (59 °F), 5 rain days77 °F (25 °C) / 59 °F (15 °C), 5 rain days
- Klerksdorp27 °C (81 °F) / 13 °C (55 °F), 5 rain days81 °F (27 °C) / 55 °F (13 °C), 5 rain days
- Knysna24 °C (75 °F) / 16 °C (61 °F), 8 rain days75 °F (24 °C) / 61 °F (16 °C), 8 rain days
- Komatipoort32 °C (90 °F) / 22 °C (72 °F), 5 rain days90 °F (32 °C) / 72 °F (22 °C), 5 rain days
- Kommetjie26 °C (79 °F) / 15 °C (59 °F), 9 rain days79 °F (26 °C) / 59 °F (15 °C), 9 rain days
- Koringberg30 °C (86 °F) / 15 °C (59 °F), 2 rain days86 °F (30 °C) / 59 °F (15 °C), 2 rain days
- Kroonstad27 °C (81 °F) / 12 °C (54 °F), 5 rain days81 °F (27 °C) / 54 °F (12 °C), 5 rain days
- Krugersdorp25 °C (77 °F) / 15 °C (59 °F), 5 rain days77 °F (25 °C) / 59 °F (15 °C), 5 rain days
- Kuruman27 °C (81 °F) / 15 °C (59 °F), 5 rain days81 °F (27 °C) / 59 °F (15 °C), 5 rain days
- Ladybrand27 °C (81 °F) / 11 °C (52 °F), 8 rain days81 °F (27 °C) / 52 °F (11 °C), 8 rain days
- Ladysmith23 °C (73 °F) / 11 °C (52 °F), 9 rain days73 °F (23 °C) / 52 °F (11 °C), 9 rain days
- Langebaan26 °C (79 °F) / 14 °C (57 °F), 5 rain days79 °F (26 °C) / 57 °F (14 °C), 5 rain days
- Llandudno25 °C (77 °F) / 15 °C (59 °F), 4 rain days77 °F (25 °C) / 59 °F (15 °C), 4 rain days
- Lydenburg29 °C (84 °F) / 15 °C (59 °F), 9 rain days84 °F (29 °C) / 59 °F (15 °C), 9 rain days
- Machadodorp26 °C (79 °F) / 13 °C (55 °F), 11 rain days79 °F (26 °C) / 55 °F (13 °C), 11 rain days
- Mahikeng29 °C (84 °F) / 14 °C (57 °F), 6 rain days84 °F (29 °C) / 57 °F (14 °C), 6 rain days
- Malalane30 °C (86 °F) / 19 °C (66 °F), 12 rain days86 °F (30 °C) / 66 °F (19 °C), 12 rain days
- Malmesbury26 °C (79 °F) / 14 °C (57 °F), 5 rain days79 °F (26 °C) / 57 °F (14 °C), 5 rain days
- Margate, KwaZulu-Natal28 °C (82 °F) / 22 °C (72 °F), 6 rain days82 °F (28 °C) / 72 °F (22 °C), 6 rain days
- Mbombela29 °C (84 °F) / 18 °C (64 °F), 13 rain days84 °F (29 °C) / 64 °F (18 °C), 13 rain days
- Mdumbi25 °C (77 °F) / 17 °C (63 °F), 10 rain days77 °F (25 °C) / 63 °F (17 °C), 10 rain days
- Melkbos26 °C (79 °F) / 15 °C (59 °F), 5 rain days79 °F (26 °C) / 59 °F (15 °C), 5 rain days
- Middelburg, Eastern Cape30 °C (86 °F) / 14 °C (57 °F), 5 rain days86 °F (30 °C) / 57 °F (14 °C), 5 rain days
- Milnerton26 °C (79 °F) / 15 °C (59 °F), 3 rain days79 °F (26 °C) / 59 °F (15 °C), 3 rain days
- Montagu26 °C (79 °F) / 12 °C (54 °F), 5 rain days79 °F (26 °C) / 54 °F (12 °C), 5 rain days
- Moorreesburg31 °C (88 °F) / 15 °C (59 °F), 2 rain days88 °F (31 °C) / 59 °F (15 °C), 2 rain days
- Morgan's Bay27 °C (81 °F) / 18 °C (64 °F), 9 rain days81 °F (27 °C) / 64 °F (18 °C), 9 rain days
- Mossel Bay24 °C (75 °F) / 17 °C (63 °F), 6 rain days75 °F (24 °C) / 63 °F (17 °C), 6 rain days
- Mpande26 °C (79 °F) / 18 °C (64 °F), 12 rain days79 °F (26 °C) / 64 °F (18 °C), 12 rain days
- Mthatha27 °C (81 °F) / 18 °C (64 °F), 9 rain days81 °F (27 °C) / 64 °F (18 °C), 9 rain days
- Muizenberg25 °C (77 °F) / 16 °C (61 °F), 4 rain days77 °F (25 °C) / 61 °F (16 °C), 4 rain days
- Nature's Valley23 °C (73 °F) / 16 °C (61 °F), 10 rain days73 °F (23 °C) / 61 °F (16 °C), 10 rain days
- Newcastle, KwaZulu-Natal27 °C (81 °F) / 18 °C (64 °F), 11 rain days81 °F (27 °C) / 64 °F (18 °C), 11 rain days
- Nieu‑Bethesda27 °C (81 °F) / 12 °C (54 °F), 2 rain days81 °F (27 °C) / 54 °F (12 °C), 2 rain days
- Noordhoek25 °C (77 °F) / 15 °C (59 °F), 6 rain days77 °F (25 °C) / 59 °F (15 °C), 6 rain days
- Norvalspont33 °C (91 °F) / 17 °C (63 °F), 6 rain days91 °F (33 °C) / 63 °F (17 °C), 6 rain days
- Ohrigstad28 °C (82 °F) / 18 °C (64 °F), 10 rain days82 °F (28 °C) / 64 °F (18 °C), 10 rain days
- Orania27 °C (81 °F) / 11 °C (52 °F), 2 rain days81 °F (27 °C) / 52 °F (11 °C), 2 rain days
- Oudtshoorn30 °C (86 °F) / 15 °C (59 °F), 5 rain days86 °F (30 °C) / 59 °F (15 °C), 5 rain days
- Paarl29 °C (84 °F) / 15 °C (59 °F), 4 rain days84 °F (29 °C) / 59 °F (15 °C), 4 rain days
- Parys28 °C (82 °F) / 14 °C (57 °F), 5 rain days82 °F (28 °C) / 57 °F (14 °C), 5 rain days
- Patensie29 °C (84 °F) / 19 °C (66 °F), 8 rain days84 °F (29 °C) / 66 °F (19 °C), 8 rain days
- Paternoster24 °C (75 °F) / 15 °C (59 °F), 2 rain days75 °F (24 °C) / 59 °F (15 °C), 2 rain days
- Perdekop26 °C (79 °F) / 13 °C (55 °F), 14 rain days79 °F (26 °C) / 55 °F (13 °C), 14 rain days
- Petrusville33 °C (91 °F) / 16 °C (61 °F), 4 rain days91 °F (33 °C) / 61 °F (16 °C), 4 rain days
- Phalaborwa33 °C (91 °F) / 20 °C (68 °F), 9 rain days91 °F (33 °C) / 68 °F (20 °C), 9 rain days
- Pietermaritzburg26 °C (79 °F) / 16 °C (61 °F), 11 rain days79 °F (26 °C) / 61 °F (16 °C), 11 rain days
- Pilgrim's Rest30 °C (86 °F) / 18 °C (64 °F), 11 rain days86 °F (30 °C) / 64 °F (18 °C), 11 rain days
- Plettenberg Bay24 °C (75 °F) / 16 °C (61 °F), 8 rain days75 °F (24 °C) / 61 °F (16 °C), 8 rain days
- Polokwane27 °C (81 °F) / 14 °C (57 °F), 6 rain days81 °F (27 °C) / 57 °F (14 °C), 6 rain days
- Port Alfred27 °C (81 °F) / 14 °C (57 °F), 4 rain days81 °F (27 °C) / 57 °F (14 °C), 4 rain days
- Port Elizabeth24 °C (75 °F) / 16 °C (61 °F), 8 rain days75 °F (24 °C) / 61 °F (16 °C), 8 rain days
- Port St Johns25 °C (77 °F) / 17 °C (63 °F), 13 rain days77 °F (25 °C) / 63 °F (17 °C), 13 rain days
- Potchefstroom30 °C (86 °F) / 14 °C (57 °F), 5 rain days86 °F (30 °C) / 57 °F (14 °C), 5 rain days
- Pretoria29 °C (84 °F) / 17 °C (63 °F), 13 rain days84 °F (29 °C) / 63 °F (17 °C), 13 rain days
- Prince Albert33 °C (91 °F) / 16 °C (61 °F), 3 rain days91 °F (33 °C) / 61 °F (16 °C), 3 rain days
- Qolora27 °C (81 °F) / 19 °C (66 °F), 10 rain days81 °F (27 °C) / 66 °F (19 °C), 10 rain days
- Queenstown, Eastern Cape28 °C (82 °F) / 14 °C (57 °F), 9 rain days82 °F (28 °C) / 57 °F (14 °C), 9 rain days
- Richards Bay27 °C (81 °F) / 20 °C (68 °F), 10 rain days81 °F (27 °C) / 68 °F (20 °C), 10 rain days
- Riebeek-Kasteel29 °C (84 °F) / 15 °C (59 °F), 3 rain days84 °F (29 °C) / 59 °F (15 °C), 3 rain days
- Rooiels25 °C (77 °F) / 15 °C (59 °F), 5 rain days77 °F (25 °C) / 59 °F (15 °C), 5 rain days
- Rustenburg30 °C (86 °F) / 18 °C (64 °F), 10 rain days86 °F (30 °C) / 64 °F (18 °C), 10 rain days
- Sabie29 °C (84 °F) / 19 °C (66 °F), 12 rain days84 °F (29 °C) / 66 °F (19 °C), 12 rain days
- Saldanha26 °C (79 °F) / 15 °C (59 °F), 2 rain days79 °F (26 °C) / 59 °F (15 °C), 2 rain days
- Schoemanskloof38 °C (100 °F) / 17 °C (63 °F), 12 rain days100 °F (38 °C) / 63 °F (17 °C), 12 rain days
- Scottburgh28 °C (82 °F) / 22 °C (72 °F), 10 rain days82 °F (28 °C) / 72 °F (22 °C), 10 rain days
- Secunda27 °C (81 °F) / 14 °C (57 °F), 12 rain days81 °F (27 °C) / 57 °F (14 °C), 12 rain days
- Simon's Town25 °C (77 °F) / 16 °C (61 °F), 4 rain days77 °F (25 °C) / 61 °F (16 °C), 4 rain days
- Sodwana Bay27 °C (81 °F) / 20 °C (68 °F), 10 rain days81 °F (27 °C) / 68 °F (20 °C), 10 rain days
- Somerset East29 °C (84 °F) / 11 °C (52 °F), 2 rain days84 °F (29 °C) / 52 °F (11 °C), 2 rain days
- Somerset West25 °C (77 °F) / 14 °C (57 °F), 4 rain days77 °F (25 °C) / 57 °F (14 °C), 4 rain days
- Springbok24 °C (75 °F) / 10 °C (50 °F), 2 rain days75 °F (24 °C) / 50 °F (10 °C), 2 rain days
- St Francis25 °C (77 °F) / 17 °C (63 °F), 6 rain days77 °F (25 °C) / 63 °F (17 °C), 6 rain days
- St Lucia27 °C (81 °F) / 19 °C (66 °F), 12 rain days81 °F (27 °C) / 66 °F (19 °C), 12 rain days
- Stellenbosch28 °C (82 °F) / 15 °C (59 °F), 3 rain days82 °F (28 °C) / 59 °F (15 °C), 3 rain days
- Storms River24 °C (75 °F) / 16 °C (61 °F), 9 rain days75 °F (24 °C) / 61 °F (16 °C), 9 rain days
- Strand26 °C (79 °F) / 15 °C (59 °F), 3 rain days79 °F (26 °C) / 59 °F (15 °C), 3 rain days
- Sun City29 °C (84 °F) / 13 °C (55 °F), 7 rain days84 °F (29 °C) / 55 °F (13 °C), 7 rain days
- Sutherland29 °C (84 °F) / 11 °C (52 °F), 4 rain days84 °F (29 °C) / 52 °F (11 °C), 4 rain days
- Swellendam27 °C (81 °F) / 15 °C (59 °F), 6 rain days81 °F (27 °C) / 59 °F (15 °C), 6 rain days
- Taung32 °C (90 °F) / 18 °C (64 °F), 7 rain days90 °F (32 °C) / 64 °F (18 °C), 7 rain days
- Thohoyandou30 °C (86 °F) / 20 °C (68 °F), 10 rain days86 °F (30 °C) / 68 °F (20 °C), 10 rain days
- Tsitsikamma25 °C (77 °F) / 16 °C (61 °F), 8 rain days77 °F (25 °C) / 61 °F (16 °C), 8 rain days
- Tulbagh29 °C (84 °F) / 15 °C (59 °F), 4 rain days84 °F (29 °C) / 59 °F (15 °C), 4 rain days
- Tzaneen27 °C (81 °F) / 15 °C (59 °F), 11 rain days81 °F (27 °C) / 59 °F (15 °C), 11 rain days
- Umhlanga27 °C (81 °F) / 21 °C (70 °F), 8 rain days81 °F (27 °C) / 70 °F (21 °C), 8 rain days
- Upington30 °C (86 °F) / 13 °C (55 °F), 2 rain days86 °F (30 °C) / 55 °F (13 °C), 2 rain days
- Vanderkloof35 °C (95 °F) / 17 °C (63 °F), 4 rain days95 °F (35 °C) / 63 °F (17 °C), 4 rain days
- Ventersburg31 °C (88 °F) / 14 °C (57 °F), 8 rain days88 °F (31 °C) / 57 °F (14 °C), 8 rain days
- Vereeniging29 °C (84 °F) / 15 °C (59 °F), 7 rain days84 °F (29 °C) / 59 °F (15 °C), 7 rain days
- Vredefort31 °C (88 °F) / 15 °C (59 °F), 9 rain days88 °F (31 °C) / 59 °F (15 °C), 9 rain days
- Vryburg32 °C (90 °F) / 18 °C (64 °F), 8 rain days90 °F (32 °C) / 64 °F (18 °C), 8 rain days
- Vryheid28 °C (82 °F) / 16 °C (61 °F), 12 rain days82 °F (28 °C) / 61 °F (16 °C), 12 rain days
- Wartrail and New England22 °C (72 °F) / 8 °C (46 °F), 6 rain days72 °F (22 °C) / 46 °F (8 °C), 6 rain days
- Waterval Boven27 °C (81 °F) / 12 °C (54 °F), 7 rain days81 °F (27 °C) / 54 °F (12 °C), 7 rain days
- Welkom28 °C (82 °F) / 12 °C (54 °F), 8 rain days82 °F (28 °C) / 54 °F (12 °C), 8 rain days
- White River27 °C (81 °F) / 12 °C (54 °F), 2 rain days81 °F (27 °C) / 54 °F (12 °C), 2 rain days
- Wilderness27 °C (81 °F) / 14 °C (57 °F), 8 rain days81 °F (27 °C) / 57 °F (14 °C), 8 rain days
- Witbank28 °C (82 °F) / 15 °C (59 °F), 11 rain days82 °F (28 °C) / 59 °F (15 °C), 11 rain days
- Worcester26 °C (79 °F) / 11 °C (52 °F), 5 rain days79 °F (26 °C) / 52 °F (11 °C), 5 rain days
- Wupperthal31 °C (88 °F) / 15 °C (59 °F), 2 rain days88 °F (31 °C) / 59 °F (15 °C), 2 rain days
- Xora23 °C (73 °F) / 15 °C (59 °F), 11 rain days73 °F (23 °C) / 59 °F (15 °C), 11 rain days
- Yzerfontein26 °C (79 °F) / 15 °C (59 °F), 6 rain days79 °F (26 °C) / 59 °F (15 °C), 6 rain days
Festivals and holidays
Dates as our data lists them. Moving holidays (lunar and Islamic calendars, Easter) shift every year: check the date for your year before you build a trip on it.
Day of Reconciliation big impact
16 Dec
Start of the peak summer holidays.
Christmas Day and Day of Goodwill big impact
25–26 Dec
Coast and parks at full capacity; many businesses close until early January.
Kirstenbosch Summer Sunset Concerts check
Sunday-afternoon picnic crowds; book ahead in peak weeks.
Peak summer season
Highest prices and crowds; book well ahead.
Crowds and prices
- Crowds · South Africa
- High
- Prices · South Africa
- High
High-price month: see what to book ahead.
Compare two months
Weather, crowds and prices for any two months in South Africa, side by side.
Verdict
Dec: Mixed
Apr: Great (better)
Crowds
Dec: High
Apr: Medium
Prices
Dec: High
Apr: Medium
Festivals listed
Dec: 4
Apr: 4
December: Peak domestic holiday: coast, Garden Route and park camps full; book 6–12 months ahead.
April: Easter holidays fill parks; otherwise a good month for Cape plus Kruger.
South Africa: figures are long-term averages from this guide, not a forecast.
What to pack
- Light, breathable clothes, a sun hat and sunscreen
- A rain jacket or umbrella and shoes that dry fast
Where to go in December
Rated best or good this month
Western Cape
Best weather of the year (Cape Town, Winelands, Hermanus, Cederberg)
Garden Route
Best weather of the year (Mossel Bay, Knysna, Plettenberg Bay, Tsitsikamma)
Best months: Sep–Apr
Best months: Oct–Apr (warm, dry beach weather)
Best months: Oct–Apr (warm, low rain)
Best months: Oct–Apr
Best months: Aug–Sep (wildflowers), Oct–Apr (wine tasting)
Best months: Oct–Apr (warm beaches); May–Aug for dry, mild driving weather
Best months: Oct–Dec (cherry season, festival)
Best months: Oct–Apr for beach weather; Jun–Nov for whales
Best months: Oct–Apr (dry, warm, harvest Feb–Mar)
Best months: Sep–Apr (warm and dry)