"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," he said.
An equivocal statement from England managing director Hugh Morris said: "The ECB is disappointed by the timing of Kevin’s decision less than four months before we defend our ICC World Twenty20 title."
His future in Test cricket is not affected by the decision.
Pietersen's aggressive batting style made him a fixture for England in limited-overs cricket, although the 31-year-old's ODI form had dipped for a lengthy period. Pietersen had strongly denied that he was prepared to retire in 2011 after the World Cup, and continued to play for another year. His last two ODI innings earlier this year against Pakistan, saw him score his eighth and ninth centuries for England.
His decision to quit the 50-over format came at the expense of his T20 place because of England selection rules.
"For the record," Pietersen said, "were the selection criteria not in place, I would have readily played for England in the upcoming ICC World Twenty20."
Pietersen has played 127 ODIs for England since his 2004 debut, scoring 4184 runs at an average of 41.84.
In T20s, he scored 1176 runs at 37.93, and was player of the tournament in England's T20 World Cup triumph in 2010.
Pietersen and the ECB have not always seen eye-to-eye, and the batsman was recently fined by the ECB over a disparaging remark he made about Sky commentator Nick Knight on Twitter.
He is expected to continue playing in the Indian Premier League, where this season for the Delhi Daredevils he scored 305 in eight innings, including a century, at an average of 61.