Botswana climate
World Climates covers 2 places in Botswana. By annual mean temperature, the warmest is Francistown (23 °C73 °F) and the coolest is Gaborone (22 °C71 °F). The wettest is Gaborone with 503 mm20 in of precipitation per year, the driest Francistown with 485 mm19 in.
The most common climate types (Köppen classification computed from these averages) are hot semi-arid (BSh, 2 places).
The highest monthly average high is in Francistown (35 °C94 °F in October); the lowest monthly average low is in Gaborone (5 °C41 °F in July).
Temperature and rainfall across Botswana
Annual mean temperatures in Botswana range from 22 °C71 °F to 23 °C73 °F. The typical place (the median of all 2) has a year average of 22 °C72 °F. Annual precipitation ranges from 485 mm19 in to 503 mm20 in. The median place receives about 494 mm19 in in an average year.
In 0 places of 2, the coldest month has an average low below 0 °C (32 °F). In 2 places, the warmest month has an average high above 30 °C (86 °F). No place here gets less than 250 mm (10 in) of precipitation a year. None gets more than 2,000 mm (79 in) a year.
Averaged over all 2 places, December is the warmest month, with a mean of 26 °C80 °F. July is the coldest, with 15 °C59 °F. The wettest month on average is December (96 mm3.8 in). The driest is August (1 mm0.0 in). Single places can differ a lot from this average, so check the page of each city.
The table below lists the places sorted by population. The largest ones covered here are Gaborone and Francistown. Each city page has a chart and a table for every month. It also shows the best time to visit and what to pack. The figures are 25-year averages for 2001–2025 from NASA POWER. They describe grid cells of roughly 50–70 km, not single weather stations.
Climate of each place in Botswana
Gaborone has a hot semi-arid climate (Köppen BSh). Its year average is 22 °C71 °F. The warmest month is January, with an average high of 34 °C93 °F. The coldest is July, with an average low of 5 °C41 °F. About 503 mm20 in of precipitation falls in a year. December is the wettest month and August the driest. By our comfort score, the best months to visit are April–August.
Francistown has a hot semi-arid climate (Köppen BSh). Its year average is 23 °C73 °F. The warmest month is November, with an average high of 34 °C93 °F. The coldest is July, with an average low of 8 °C46 °F. About 485 mm19 in of precipitation falls in a year. December is the wettest month and August the driest. By our comfort score, the best months to visit are April–August.
Frequently asked questions
Which is the warmest place in Botswana?
By annual mean temperature, the warmest place in Botswana is Francistown at 23 °C73 °F. The coolest is Gaborone at 22 °C71 °F.
Where does it rain the most in Botswana?
Gaborone gets the most precipitation, 503 mm20 in in an average year. The driest place is Francistown with 485 mm19 in.
How many places in Botswana does this site cover?
World Climates has climate data for 2 places in Botswana. Each one has a page with monthly averages for temperature, rainfall, humidity and daylight.
Climate of every place in Botswana
| Place | Year | Max high | Min low | Precip. |
|---|---|---|---|---|
| Gaborone | 22 | 34 | 5 | 503 |
| Francistown | 23 | 35 | 8 | 485 |
Year = annual mean temperature; max high = average high of the warmest month; min low = average low of the coldest month; precip. = annual total. Temperatures in °C°F, precipitation in mminches. Sorted by population.
Data: NASA POWER climatology 2001–2025 (MERRA-2 reanalysis, CERES satellite data) — grid-cell averages, not station records. Sources and method.