The 28-year-old made his Springbok debut against the British & Irish Lions in Johannesburg back in 2009. In total he has made 101 provincial appearances (scoring 209 points to date) and has scored 20 tries in 77 Super Rugby games.
Commenting on the move, Leinster head coach Joe Schmidt said: "Zane Kirchner is a quality international player and we believe that he will add genuine value to the Leinster squad over the next few years.
"He's well balanced, fast and skilful and has featured for the Springboks in their last nine internationals.
"At 28 he is ideally placed to contribute to team performance while also passing on his experience to some of our younger outside backs."