When South Africa were handed the hosting rights, the North West Province and Western Cape were picked out as possible hosts, but Johannesburg has since been selected by CAF and all the games will be played at the Rand and Dobsonville stadiums.
The Under-20 finals, initially pencilled in for Libya but then rescheduled to South Africa following the political unrest in the North African country, will run from April 17 to May 1.
South Africa, as the new host nation replacing Libya, will play in Group A along with Mali, Lesotho and Egypt, with all matches being staged at Dobsonville Stadium in Soweto.
The matches in Group B which consists of Ghana, Cameroon, Nigeria and Gambia will be played at Rand Stadium.
The four semi-finalists from the eight team tournament will qualify for the Under-20 World Cup to be played in Colombia from July 29-August 20.