Holt was a free agent after rejecting a new contract last season but Hearts are due compensation as the midfielder came through the youth ranks at Tynecastle.
The 22-year-old spent the second half of last season on loan at Sheffield United and has been training with Rangers for several weeks.
Holt told the Rangers website: “I think the style of play that is coming in is really exciting and if you asked anyone they would like to be a part of this. Throughout people’s careers you come and go so I am just delighted to get this done and finally be here.
“It did hurt a wee bit leaving Tynecastle, I am a Hearts fan but it is part of football and now I am a Rangers player and my full focus is on this club. When the situation arose that I had an opportunity to come to Rangers I just jumped at it.
“I’ve been really impressed from the moment I came in the door, I spoke to a few of the boys and they were saying the same and as soon as I got a taste of it myself I just thought the same.
“I wanted to get something done straight away and thankfully it has transpired that way and the club is definitely going in the right direction.”
Holt started the Ibrox side’s 1-0 friendly defeat against Burnley on Tuesday night and could make his competitive debut against Hibernian in the Petrofac Training Cup first round at Easter Road on Saturday.
The Scotland U21 international becomes Mark Warburton’s seventh signing since taking charge at Ibrox. He joins fellow new boys Wes Foderingham, Danny Wilson, Rob Kiernan, James Tavernier, Andy Halliday and Martyn Waghorn at the Scottish Championship club.