He was born in Johannesburg, Transvaal, and educated at Hilton College and Rhodes University. He was the first South African to play 50 tests for his country and is generally acknowledged to be one of South Africa's finest wicket keepers. His total of 141 dismissals in Test matches stood as a record for his country until it was overtaken by Dave Richardson. In 1953–54 he set a new Test best of 23 dismissals in a single series, against New Zealand and broke his own record in 1961–62, with 26, also against New Zealand. He was also a solid batsman, scoring 76 on debut against England at Trent Bridge, and averaging over 30 in Tests with 4 Test centuries.
In addition to his Test career, he played first class cricket for Eastern Province and Transvaal, making his debut in 1948 and retiring in 1966. His highest first class score was 219 for Eastern Province against Griqualand West.