The 37-year-old veteran, who has played 92 Test matches, 200 ODIs and 17 T20 Internationals has been in and out of the team in the last three to four years due to recurrent injuries which a took a toll on his body.
In 92 Test matches, Zaheer has taken 311 wickets and is fourth highest wicket-taker in longer version amongst Indians after Anil Kumble (619), Kapil Dev (434) and Harbhajan Singh (417).
According to sources, Zaheer called up IPL chairman and senior BCCI functionary Rajeev Shukla to intimate his decision to hang his boots.
"Zaheer khan to announce his retirement today My best wishes to him for post retirement carrier (sic)," Shukla tweeted.
"Hope Zaheer Khan will keep on playing IPL. Zaheer has been my most favourite bowler since 2002 when I was manager of team india on England tour," Shukla also tweeted.
Zaheer is contracted with Delhi Daredevils in the IPL.