The 20-year-old spent the second half of last season on loan at the Hill Dickinson Stadium having struggled for regular football at Chelsea.
Everton had a £25 million option to buy included in the deal, but George started just one of his 11 games under David Moyes.
Still, the Merseyside club were keen on keeping him, and negotiated a reported fee of £18 million, which could rise to £24 million with potential add-ons.
Everton have now confirmed the deal, their third of the summer so far, alongside Hayden Hackney from Middlesbrough and Merlin Rohl, signed from Freiburg after his loan.
Speaking to the club’s website, George said: “I’m so happy to sign for Everton. I loved my time here on loan last season, so as soon as I knew it was a possibility to return, that's always what I wanted.
"This is a massive club. I've seen for myself how passionate the fans are about Everton, how much it means to them – and I want to put on good performances, score goals, and create goals to make them happy.
"The fans and the boys in the changing room made me feel welcome as soon as I arrived in February. It's a strong group that's only going to get better.
"I'm excited for what is ahead for us as a group and club.”
