The midfielder joins from Norwich City for an undisclosed fee, believed to be just over £1 million.
Dorrans is manager Pedro Caixinha’s ninth summer signing, following Bruno Alves, Ryan Jack, Dalcio, Fabio Cardoso, Daniel Candeias, Alfredo Morelos, Eduardo Herrera and Carlos Pena.
Dorrans, 30, has spent the last nine seasons in England with first West Bromwich Albion, then Norwich. He started his career with Livingston and grew up supporting Rangers.
“It feels incredible,” he told Rangers TV after signing. “It has been a long couple of weeks but to finally get it over the line is an incredible feeling and I just can’t wait to get the boots on and get started.”