The 36-year-old led her country to glory in the Ashes, World Cup and ICC World Twenty20, winning a world-record 309 caps and scoring over 10,000 runs across the formats.
"Everyone who knows me -- and how much I love playing for England -- will appreciate what a difficult decision it has been for me to retire from international cricket," she said in a statement.
"It's a decision I've reached after much thought and detailed discussion with (England coach) Mark Robinson and (director of England women's cricket) Clare Connor about what is best for the team going forward.
"I have given 20 years to playing for England and I leave very proud of the standing in which the women's game is held and of my contribution as a player and captain."
Edwards led England on 220 occasions, with the highlights of her captaincy including three Ashes triumphs against Australia -- in 2008, 2013 and 2014 -- and a World Cup/World Twenty20 double in 2009.
In 2008, she was named the International Cricket Council's Women's Player of the Year and and in 2014 was selected as a Wisden Cricketer of the Year.
She will continue to play domestic cricket as captain of Kent and the Southern Vipers, in this year's inaugural Super League.
England and Wales Cricket Board (ECB) chief executive Tom Harrison paid Edwards a fulsome tribute.
"Her outstanding achievements in the game during that time are unrivalled, and in many aspects, are unlikely to ever be surpassed.
"She leaves the most wonderful legacy, having inspired countless women and girls around the world to pick up a bat and a ball and play the game she so clearly loves."
The ECB is expected to name a successor to Edwards as captain in due course.
IMAGE: Former England captain Charlotte Edwards
Photograph: ICC/Solaris Images
Clarke to make cricket comeback in Hong Kong
A Non-Playing XI from IPL 9!
Vote! Who should take over as the next BCCI chief?
Safer helmet would not have saved Hughes, states review report
Phelps becomes father of boy