The 36-year-old has not played a game this season after failing to recover from a hip injury, which required surgery in March last year.
Roberts said in a statement: "It is with great sadness that I have to announce my retirement from professional football on medical grounds. I have had an amazing 17 years playing professional football and I'm proud of everything I've achieved and am grateful for all that I've experienced
"I am now looking forward to the future and having time to focus on my charity The Jason Roberts Foundation. I am also excited about continuing my media work and having recently passed my corporate governance exams, I'm looking forward to exploring this area further.
"I have met many fantastic people during my time as a player and I am grateful to the game for the opportunities it has given me. I'd also like to thank the fans of all the clubs I have represented for their continued support during my career and especially through my recent rehab."
Roberts, who joined Reading in January 2012, played for Wolverhampton Wanderers, Bristol Rovers, West Bromwich Albion, Wigan Athletic and Blackburn Rovers throughout his career.
The forward started his profession at Hayes in 1996.