The 35-year-old from Hanover Park reached the heights of the English Premier League in a career dogged by injuries and controversies surrounding his weight and clashes with Bafana Bafana coaches.
McCarthy began his career with Seven Stars in Cape Town and went on to play in Holland, Spain, Portugal and England, before returning to South Africa for a swansong with Orlando Pirates.
His arrival on the international scene came at the 1998 Africa Cup of Nations, where he named player of the tournament after scoring seven goals.
McCarthy is Bafana's top scorer with 31 international goals to his name. He is also the only South African footballer to win Europe's top club competition, the Union of European Football Associations (Uefa) Champions League, with Porto in 2004.
Announcing his decision to retire, McCarthy said in a statement on Thursday quoted by Soccer Laduma: "I have been so blessed to have enjoyed a remarkable career that took me from the township fields of Nyanga Stadium, to winner's medals in the Uefa Champions League and World Club Cup – the highest levels that a player can achieve in club football.
"I retire having represented my country at senior level 80 times and scored a record 31 goals. Two World Cup Finals, in France and Korea/Japan, an Olympic Games and a U-20 World Cup Finals will be memories that live in my heart forever.
"And to have come home to South Africa for a final chapter, and to have won the treble with Orlando Pirates, was the type of finale that only dreams are made of.
"It has been a 17-year professional career that surpassed even my own expectations and I've been privileged to have played under many great Coaches, including the very best, José Mourinho."
"Football is my life. I have played the game and I love the game … it's in my blood. For the next chapter, I'd like to concentrate on getting my coaching badges and at the same time, be part of a club where I can get practical experience. I'd also like to do some television work because I enjoy that aspect of the game as well."