The Board of Control for Control in India announced his decision on Wednesday.
Dhoni has led India in 199 ODI matches in which the team won 110 matches.
During the semi-final of the Ranji Trophy clash between Jharkhand, Dhoni's home state and Gujarat, which the former lost on day four, he had a conversation with Prasad.
In the same series, Dhoni surpassed Sourav Ganguly's record of 21 Test wins and became the most successful Test captain for India.
Apart from being the player with most worldwide matches as captain, he is also the only one to have captained in more than 50 matches across all three formats. He is also understood to have stressed on the importance of having the same captain for all formats - Tests, one-days, and T20s.
Born Mahendra Singh Dhoni, but better known as "MS", he developed a reputation for match-winning performances when under pressure, earning him the nickname "Captain Cool" among fans. A new star in MS Dhoni rose to fame, leading a young side that matched flair with brilliance and made win a habit.
Dhoni then came in and carted the Sri Lankan bowlers around to score 91 not out off 79 balls and in Yuvraj Singh's company, carried India to a six-wicket victory. The next most by a wicketkeeper in each of the formats is 23 each by Mushfiqur in Tests and T20Is, and 46 by Andy Flower in ODIs.
Here are five great moments as captain that Dhoni had. He was also the first captain to the 1000-run landmark and only Faf du Plessis (1003) has reached the milestone since. It is the second highest in cricket history after Ricky Ponting of Australia. Dhoni's decision has left most of the cricketing astonished but nevertheless his decision has been seen as a positive move in the interest of the team's future.
Dhoni is the first and only captain to win all the three ICC Trophies - World T20 in 2007, 50-over World Cup in 2011 and Champions Trophy in 2013.
"He is still fit and if he can motivate himself he can definitely play till the World Cup in 2019". Thereafter, the inaugural edition of the ICC World T20 was about to start in South Africa. During this time, Kohli has scored over 1600 runs in 19 Tests at an average of 58 with five hundreds.