The 19-year-old has become an integral part of David Unsworth's Under-23s this season, and has hit the net three times since the turn of the year.
He was made captain of the side at Barnsley last week, where he scored the only goal of the game, continuing his development as a hugely promising product of the Finch Farm Academy.
“Everton is a great club and I am delighted to sign for another couple of years,” he told evertontv.
“I wanted to get a foothold in the team [this season], kick on and get a contract. We have a new [first-team] manager and new ways, so it is an exciting time at the Club.
“Ultimately, I want to try to get in the first team, whether that is through going on loan again or staying with the Under-23s and continuing to perform consistently.”