Gerrard, 34, won his first cap in a 2-0 win over Ukraine in 2000 and made his last England appearance in a 0-0 draw with Costa Rica at the 2014 World Cup.
The Liverpool midfielder said: “I have enjoyed every minute of representing my country. It’s a sad day for me.”
Gerrard will now take on a “high profile” ambassadorial role with the Football Association.
Gerrard skippered England at this summer’s World Cup in Brazil, however it was to end in disappointment for Roy Hodgson’s team after they exited the tournament bottom of the group and without a victory.
“It was a very difficult decision to make,” said Gerrard. “It’s something I have been contemplating for a long time, not just since the end of the World Cup.
“I’ve had to take an awful lot of advice from people who are close to me – players that I still play with, ex-players who I played with a long time ago, managers who I played for years ago.
“It’s been a really tough decision, certainly one of the toughest since I turned professional at 18.”
England manager Hodgson said: “While I’m disappointed, I can entirely understand Steven’s situation and can have no complaints given the incredible service he has given to his country.”
Gerrard will continue his club career with Liverpool, for whom he made his debut in 1998 against Blackburn Rovers.
He has spent his entire career at Anfield – winning the Champions League, FA Cup and League Cup.