The Merseyside club announced the capture of the 28-year-old England international on their official Twitter feed.
The fee is undisclosed but the Toffees' second signing of the January transfer window reportedly cost them £20million.
“I've come to Everton because I want the club to push to the next level,” the England international said on his new club's website.
“I'm very excited to be starting a new chapter and I felt this was the right place for me to be. The manager (Sam Allardyce) is very ambitious and I feel like the club is going in the right direction. Everton is a club with a great history.
The fans are always passionate, they're great and I always used to find it very tough playing here”, he said.