Ferdinand, 35, has made 454 appearances in a Red Devils kit and scored eight goals. He helped United win six league titles, two League Cups, one Champions League and a Club World Cup.
"After 12 fantastic years I have decided the time is right for me to move on," said Ferdinand. "I have thought long and hard over the last few months about my future.
"Circumstances didn't allow for me to say goodbye the way I would have liked but I'd like to take this opportunity to thank my team-mates, staff, the club and the fans for an unbelievable 12 years that I'll never forget. Winning trophies I dreamed about as a kid came true at this great club. I am feeling fit and healthy, ready for a new challenge and looking forward to whatever the future holds for me."
Ferdinand made his United debut against Hungarian side Zalaegerszeg in a Champions League tie in August 2002 after joining from Leeds United for a then British record 30 million pounds.
He made his final appearance for the club in Sunday's 1-1 draw against Southampton at St Mary's Stadium.