"I would like to retire from playing test cricket with immediate effect," the 33-year-old said in a letter to Sri Lanka Cricket (SLC).
"After much thought, I believe it is the right time to retire and I hope it will allow me to better prepare for ODI and T20 cricket, which I would like to continue playing for Sri Lanka subject to good performance and selection."
Despite lacking express pace, Kulasekara made the most of his ability to swing the new ball to claim 48 test wickets since his 2005 debut against New Zealand in Napier.
Kulasekara played the last of his 21 tests against England at Lord's two years ago but has been a standout performer in one-dayers, with 186 wickets from 173 matches, and was ranked the top ODI bowler in March 2009.
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
(Reporting by Amlan Chakraborty in New Delhi; Editing by John O'Brien)
