The 29-year-old made more than 150 appearances for City since joining from Aston Villa in 2021, going on to win three Premier League titles, the Champions League and the FA Cup.
Grealish becomes Everton's sixth signing this season following the arrivals of Kiernan Dewsbury-Hall, Charly Alcaraz, Thierno Barry, Mark Travers and Adam Aznou.
"I'm over the moon to have signed for Everton - it's massive for me, honestly," Grealish said. "This is a great club with great fans.
"As soon as I spoke to the manager, I knew there was only one place that I wanted to go. On social media, I've been flooded with messages from Everton supporters, so there's that side of it as well and that's another reason why I chose Everton.
"I want to say thank you to the fans for all of the messages I've had already. Thank you for all of the love and support. I hope I can repay you now and I'm sure I will."
Toffees manager David Moyes added: "I think we're getting him at a good time because he's experienced, he understands the Premier League and we're all fully aware of the levels he's capable of performing to.
"We're all looking forward to working with him and providing a platform for him to show the best version of himself."
Grealish is in line to make his Everton debut in their Premier League opener away at Leeds on Monday.