Sakho scored 10 Premier League goals in 2014-15 after joining West Ham from Metz but subsequently struggled with injuries and form.
In a bid to force through a move to Rennes in the previous transfer window, Sakho underwent a medical at the club without West Ham's permission.
And the 28-year-old has now got his move away from London Stadium, leaving West Ham in a deal reported to be worth £8 million.
"I am very happy to join Rennes and Ligue 1," Sakho told his new club's official website.
"I never wanted to join another club than Rennes.
"The president [Olivier Letang] has worked hard for my transfer. I felt it and his speech convinced me to join the club. It is a historic club, structured with great ambitions.
"I also spoke with the coach [Sabri Lamouchi] and talked about the sports project. It's a great joy and a great pride to join Rennes. I hope to bring my qualities to the group and participate in the success of the club in the second half of the season and for the next."
Senegal striker Sakho scored 24 goals in 71 appearances for West Ham but he has not started a Premier League game this season, while Rennes are eighth in the Ligue 1 table after suffering a 2-1 defeat at Dijon on Friday.