The much-traveled Crouch, who spent the second half of last season at Burnley, made his English league debut in 2000 at QPR and also played for Liverpool, Tottenham, and Stoke.
He made his England debut against Colombia in May 2005 and went on to play 42 times for the Three Lions, scoring 22 goals.
The forward, who is a towering 2.01 metres (six feet, seven inches) tall, confirmed his retirement on Twitter, writing: “After a lot of deliberation this summer I have decided to retire from football! Our wonderful game has given me everything.
“I’m so thankful to everyone who helped me get there and to help me stay there for so long.
“If you told me at 17 I’d play in World Cups, get to a Champions League final, win the FA Cup and get 100 @premierleague goals I would have avoided you at all costs.
“It’s been an absolute dream come true.”
Crouch played for a total of 11 clubs, winning the FA Cup with Liverpool and helping them reach the 2007 Champions League final.
He scored 108 Premier League goals in 468 appearances.
“My ambition was to play until I was 40, so it is scary saying the word ‘retirement’,” he said in a column for the Daily Mail.
“It has left me emotional and it feels weird not to be preparing for a new campaign, but circumstances over the last couple of seasons have made me realise that this is the right thing to do.
“To go from being a regular starter to someone whose role is limited to 10 or 15 minutes off the bench has been hard to accept.”
Former England striker Alan Shearer wrote on Twitter: “Congrats big man, a brilliant career and good luck going forward.”
Current England players Harry Maguire and Jack Butland, a teammate of Crouch’s during his time at Stoke, also paid tribute to the striker.
Maguire wrote: “Incredible career. Enjoy retirement.”
Butland added: “Been an honour to play and share a dressing room with you big man @petercrouch best of luck in the next stage of your career.”