Posee 2798 kilómetros de costa en los océanos Atlántico e Índico.Limita al norte con Namibia, Botsuana y Zimbabue, al este con Mozambique y Suazilandia, mientras que Lesoto es un territorio rodeado por el territorio sudafricano.