The defender joins from Championship side Bristol City for an undisclosed fee.
McCrorie is a product of the Rangers academy and previously made over 50 first-team appearances after debuting in September 2017. He left the club permanently in 2021 to join Aberdeen under Derek McInnes.
The 28-year-old has spent the last three seasons at Bristol City, where he established himself as a key player in the Championship.
“It is a dream come true to come back up the road to the team I support,” McCrorie told Rangers TV.
“I am not that little kid who was at Rangers back in the day. I have changed a lot character-wise, and player-wise, I feel I have changed massively.
“I feel like I am ready now, and I want to come back here and win trophies.”
