This comes after manager Gareth Southgate tried to recall him to the squad.
The 31-year-old striker – who scored 53 goals in 119 appearances for his country — told Southgate of his decision as they spoke by phone on Tuesday.
Southgate had phoned Rooney — who had lost both the captaincy and eventually a regular place in the squad as he became a marginal figure under Jose Mourinho at Manchester United last season — to congratulate him on his sterling form for new club Everton, after 13 years at United.
It seems Rooney has revived his talent — scoring in both their Premier League matches so far — since he returned to the club that nurtured his talent as a teenager before his big move to the Red Devils.
“It was great that Gareth Southgate called me this week to tell me he wanted me back in the England squad for the upcoming matches. I really appreciated that,” said Rooney in a statement sent to Press Association Sport.
“Having already thought long and hard, I told Gareth that I had now decided to retire for good from international football.
“It is a really tough decision and one I have discussed with my family, my manager at Everton (Ronald Koeman) and those closest to me.
“Playing for England has always been special to me. Every time I was selected as a player or captain was a real privilege and I thank everyone who helped me.
“But I believe now is the time to bow out.”
Rooney, England’s most capped outfield player ever, said his only purpose now in football was to ensure that Everton win trophies.