Bolasie, 27, spent four seasons with Palace after joining the London side from Bristol City in 2012.
He played 143 times for Palace scoring 13 goals, and came on as a substitute in Saturday's 1-0 defeat by West Brom.
Palace manager Alan Pardew said after the 1-0 defeat: "We know his heart and soul may be elsewhere."
Bolasie said the move to Merseyside was a "no-brainer", adding: "Now that I've come to Everton, the job is not done. I've got to work hard and feel my way in. I'm ready and up for the challenge.
"It's not about the money for me. It's about looking at the ambition of the club and where they are trying to get to. I just like to play football."
Everton manager Ronald Koeman said: "Yannick is a player who has been a long time on my radar because he's the type of winger I like - fast, strong and he can play different positions in the forward line."
Bolasie is Everton's fourth major signing of the summer.
Goalkeeper Maarten Stekelenburg came from Fulham, Idrissa Gueye from Aston Villa, while Wales captain Ashley Williams joined on 10 August from Swansea for an undisclosed fee, thought to be £12m.
Everton, who drew 1-1 with Tottenham on Saturday, are in discussions to sign Sunderland defender Lamine Kone but are keen to keep striker Romelu Lukaku.
Iranian businessman Farhad Moshiri bought a 49.9% stake in Everton in February, ending the club's decade-long search for new investment.
Everton have signed DR Congo international midfielder Yannick Bolasie from Crystal Palace on a five-year deal for £25m.