London: Alex Hales, 34, made 156 appearances for England across three formats, scoring 5,066 runs and lifting the men's T20 World Cup in November.
He last played for his country in the five-wicket win against Pakistan in that final in Melbourne.
Hales, who will continue to play for Nottinghamshire and in T20 franchises, said it had been "an absolute privilege" to represent England.
"I've made some memories and some friendships to last a lifetime and I feel that now is the right time to move on," he wrote on Instagram.
Hales is currently playing for Trent Rockets in The Hundred, and is expected to continue being a regular in T20 leagues such as Australia's Big Bash League and the Pakistan Super League.
A short-form specialist, Hales was a key member of England's one-day international side, hitting a six against Australia at Trent Bridge as they broke the record for the highest ODI total in 2018.
He scored 2,419 runs in 70 one-day internationals and 573 in 11 Tests between 2015 and 2016.
However, his time with England has not been without controversy.
England next play a T20 series against New Zealand from 30 August, before they defend their World Cup title in West Indies and the USA next June.
Hales' retirement is likely to give an opportunity for Phil Salt to open the batting - the Lancashire opener has played 16 T20s and 14 ODIs and was also part of the side who won the World Cup last year.
It may also give an opportunity for Somerset opener Will Smeed, 21, with 50-over World Cup-winning captain Eoin Morgan having previously praised the right-hander.