The 28-year-old has moved to Ibrox for an undisclosed fee, believed to be in the region of £1.8m plus add-ons, and he has become the club's first signing of the summer window.
Colak, who has been capped three times for the Croatia national team, will now join up with Giovanni van Bronckhorst's squad at their training camp in Portugal.
Speaking to the club's official website on his arrival at Rangers, Colak said: "I am really, really happy to sign for Rangers. I have played in front of those incredible fans already, and now I want to experience on my own what it is like to be a part of this huge club, to win titles and to achieve every target the club has.
"I want to be a part of this big family and I am really excited and can't wait to get started."
Van Bronckhorst added: "He is a very experienced player who has played at high levels and scored a lot of goals for the teams he has played for.
"We wanted to add some more players to our attacking options, and Colak is a player we welcome a lot and will give us a lot of strength up front."
More to follow.