The 31-year-old, who will continue to play tests, cited the increasing demands of international cricket on his body for his decision to quit one-dayers.
"After a great deal of thought and deliberation, I am today announcing my retirement from international one-day cricket," said Pietersen.
"With the intensity of the international schedule and the increasing demands on my body, approaching 32, I think it is the right time to step aside and let the next generation of players come through to gain experience for the ICC World Cup in 2015," added the South African born batsman.
Pietersen has scored 4,184 runs at an average of 42 in one-day internationals and averages 38 in international T20 cricket. The decision has taken everyone by surprise as this decision comes less than four months before England are due defend of their Twenty20 World Cup crown in September.
The Englishman was man of the tournament when England won the title in the West Indies in 2010.
"I am immensely proud of my achievements in the one-day game, and still wish to be considered for selection for England in Test cricket," Pietersen said.
"For the record, were the selection criteria not in place, I would have readily played for England in the upcoming ICC World Twenty20."
ECB managing director Hugh Morris expressed his dismay over Pietersen's decision.
"The ECB is disappointed by the timing of Kevin's decision less than four months before we defend our ICC World Twenty20 title," he said.
"Kevin is a world-class player and I would like to take this opportunity to thank him for his efforts and we look forward to his continued contributions to the Test match side."
Photos: Alia Bhatt, Sunny Deol at an event in Mumbai
Photos: Akshay Kumar, Taapsee Pannu promote 'Naam Shabana'
Flashback: When sexy models sizzled in bikinis at Tokyo fashion show
Photos: These Indian cities top the list in online purchase of sex products
In pictures: Indian-origin artistes in Hollywood