Canadian citizens do not need a visa to visit South Africa for stays of up to 90 days. However, your passport must be valid for at least 30 days beyond your expected date of departure from South Africa and it must have at least two blank pages as you will get a 'temporary resident visa' upon arrival. If your passport does not contain at least two empty pages for the temporary resident visa, you will be refused entry into the country.