He also won 118 caps for the Republic of Ireland before his international retirement in June.
A Champions League winner at United, O'Shea also spent seven seasons at Sunderland before joining the Royals on a one-year deal last summer.
Reading confirmed the news on his 38th birthday on Twitter.
"Just a very small part of his playing days have been spent with the Royals," it said.
"But he has amassed a medal collection that any player would be extremely proud of, winning almost everything possible during almost 20 years as a professional footballer."
In total, O'Shea played a part in United winning 14 trophies during his time at Old Trafford after moving to the club at 17.