It was a major blow for the country who are hosting the upcoming Africa Cup of Nations and were already struggling with a list of long-term injuries to key players.
"It is with regret that I wish to advise you that with immediate effect I'm no longer available for selection to represent South Africa," Pienaar said in a letter read out at a media conference in Johannesburg, where South Africa announced their squad to play Poland and Kenya in friendly internationals this month.
"After having given more than 10 years service to the national team I'm now at a stage where physically I'm struggling to balance the demands of playing in England with the number of games required by the national team.
"I'm proud to have represented and captained my country, for this I sincerely thank you and wish the team all the best in the future," the 30-year-old Everton midfielder added.
New Bafana coach Gordon Igesund said he only heard of Pienaar's decision to retire on Monday.
"He's given us 10 years of service and his body is tired," said Igesund. "Yesterday was the first time I found out he wanted to retire."
PAOK Salonika defender Bongani Khumalo will take over as captain.
Slovakia-based Ricardo Nunes, who plays for MSK Zilina, was the only new name to the squad.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.