Carnarvon is situated in the Karoo region of the Northern Cape province. It is surrounded by the low Karoo Hills.
The town has a chequered history and was originally known as Harmsfontein but it was renamed by the British to honour Lord Carnarvon who was the British Colonial Secretary.
Carnarvon has a lot of old houses and one can do the 'Historic Houses Trail'. One can also visit the Carnarvon Nature Reserve.