The former England captain, who just earned a championship title for Paris Saint Germain, said he felt this was the right time to end his career while "playing at the highest level."
"I'm thankful to PSG for giving me the opportunity to continue but I feel now is the right time to finish my career, playing at the highest level," Beckham said.
The 38-year-old father of four added that his 20-year career as a professional soccer player had ben a dream come true.
"If you had told me as a young boy I would have played for and won trophies with my boyhood club Manchester United, proudly captained and played for my country over 100 times and lined up for some of the biggest clubs in the world, I would have told you it was a fantasy," he said.
Beckam joined the Manchester United at the age of 14. While playing for them he made 398 appearances and won six Premier League titles and the Champions League. He transfered to the Real Madrid in 2003 and won La Liga with them in 2007 before moving to the LA Galaxy.
He joined the Paris Saint Germain in January 2013 signing a 5-month contract, he earned the team a Ligue 1 title, the team's first championship trophy in 19 years.
The midfielder said he was very fortunate to have realized his dreams adding that he's excited about what lies ahead.
"Nothing will ever completely replace playing the game I love. However, I feel like I'm starting a new adventure and I'm genuinely excited about what lies ahead," he said. "I'm fortunate to have been given many opportunities throughout my career and now I feel it's my time to give back."
Beckham has two more games with the PST before the season ends on May 18.
Susan Sarandon 'very excited' about daughter's pregnancy
Dennis Rodman pledges to end trips to North Korea