The 26-year-old completed a medical and agreed personal terms at Everton's Finch Farm training base earlier before finalising the details of his contract at Goodison Park.
Jelavic was expected to be introduced to the crowd at half-time of their home game against Manchester City.
He becomes David Moyes' third signing of the January transfer window, following a loan for Los Angeles Galaxy forward Landon Donovan and a permanent deal for Manchester United midfielder Darron Gibson.
Jelavic scored 36 goals in just 55 appearances for Rangers having been signed from Rapid Vienna for £4million in the summer of 2010.
Prior to his move to Scotland, Jelavic had scored 40 in 93 games in three seasons in the Austrian league.
Jelavic told Sky Sports 2: "It's a new club, I'm just excited.
"I think this is the best league in world and I want to try myself here.
"Of course it will be harder but I'm ready for this challenge."