The 21-year-old forward joins Newcastle on a long-term contract and becomes the club's third acquisition of the January transfer window.
"Since I heard of the interest, I was always convinced Newcastle were for me," Gordon told the club’s official website.
"I think the fanbase and the city really suits me as a person, the way the team are playing under the gaffer at the minute really suits me, and the club just look like they're heading in the right direction.
"I feel like it's a really big step. People haven't seen what I'm capable of yet. I think under the gaffer, and the way the club's going, I can really excel here."
Gordon joined Everton as an 11-year-old and graduated through their Academy, becoming the sixth-youngest player in the club’s history to feature for the first team, aged 16 in December 2017.
Overall, he made 65 Premier League appearances for Everton, scoring seven goals and producing three assists.
Gordon could make his top-flight debut for Newcastle, when they are next in league action at home to West Ham United on Saturday 4 February.