South Africa will tour Pakistan for the first time in 13 years in 2021.
The tour will run from 26 January to 14 February, with the Proteas having to quarantine on their arrival.
The two Tests will be played in Karachi and Rawalpindi, with all three T20s held in Lahore.
Sri Lanka, Bangladesh and Zimbabwe have toured the country in the past 15 months after Pakistan went 10 years without hosting Test cricket on home soil.
South Africa won a two-match Test series 1-0 on their last tour of Pakistan in 2007.
“The South Africa series will complete the process for full resumption and restoration of international cricket in Pakistan,” Zakir Khan, Pakistan’s director of cricket, said.
There was no international cricket in Pakistan for six years after the Sri Lanka team bus was ambushed by gunmen in Lahore in 2009.
Sri Lanka became the first team to play a Test match in Pakistan since the attack when they returned in December 2019.
“I know how much passion the people of Pakistan have for the game as well as the love and support that the Proteas enjoy there as a team,” Cricket South Africa director Graeme Smith said.
“We look forward to embarking on this historical tour.”
First Test: 26-30 January, Karachi
Second Test: 4-8 February, Rawalpindi
First T20: 11 February, Lahore
Second T20: 13 February, Lahore
Third T20: 14 February, Lahore