Terry, 37, has been without a club since leaving Championship side Aston Villa in the summer.
The defender made the announcement on his Instagram account, saying: “After 23 incredible years as a footballer, I have decided now is the right time for me to retire from playing.”
Terry, who earned 78 England caps, left Chelsea in 2017 after two decades at the London club.
He won five Premier League titles, five FA Cups and a Champions League title in his time at Stamford Bridge, becoming the club’s most decorated player.
The centre-back also won five league cups and a Europa League in more than 700 appearances for Chelsea.
Terry spent the 2017-18 season at Aston Villa and his last game as a professional was the 1-0 Championship play-off final defeat to Fulham in May.
He left Villa Park when his one-year contract expired and turned down a move to Spartak Moscow last month, despite reportedly having a medical, saying it was not right for his family.
Terry made his debut as a 17-year-old against Aston Villa in the League Cup in October 1998, and scored his first goal for the club in an FA Cup sixth-round tie against Gillingham in 2000.
However, the following year Terry was one of four Chelsea players fined two weeks’ wages by the club following their behaviour at a hotel in the aftermath of the September 11 attacks in the United States.
He was integral to the Blues claiming both the Premier League title and the FA Cup in 2009-10, making more than 50 appearances as Chelsea became just the seventh club to do the double.
However, he was twice stripped of the England captaincy, before being banned for four matches and fined £220,000 for racially abusing QPR defender Anton Ferdinand.
He also missed the 2012 Champions League final, in which the Blues beat Bayern Munich on penalties, through suspension.
Terry scored four goals in 35 league games as Chelsea claimed the Premier League in 2014-15, but has found his playing time limited under Antonio Conte.
He joined Aston Villa on a one-year deal and played 36 times, scoring once, in his final season as a footballer as the Birmingham club finished fourth in the Championship before losing in the play-off final.
In his Instagram post, Terry made a statement thanking his family for their support.
It read: “As a 14-year-old, I made my best and biggest decision: to sign for Chelsea Football Club. Words will never be enough to show how much everyone at the club means to me, in particular the fans.
“Right from the outset they have given me total support, on and off the pitch, and I have a tremendous bond with them.
“We achieved so many great memories together and I couldn’t have succeeded without you. To me, you are the best fans in the world. I hope I have done you all proud wearing the shirt and the armband.
“My club career and heart will always belong to Chelsea, but I am grateful for my loan spell at Nottingham Forest in 1999, which was invaluable for my development as a young player.
“And I also want to say a huge thank you to Aston Villa for giving me the opportunity to play at such a big club and captain it throughout the 2017-18 season.
“It was a privilege to represent such a renowned football club with great fans.
“I look forward to the next chapter in my life and the challenges ahead.”