The 23-year-old is Leeds' fourth major signing this window following the arrivals of forward Rodrigo and defenders Robin Koch and Diego Llorente.
He will wear the number 18 shirt and could make his debut when the Whites take on Wolves on Monday, October 19.
He had been at Rennes for just over a year, scoring seven goals in 31 appearances in all competitions last season for the French club, who are currently top of Ligue 1.
Rennes paid a reported £20.7m to Sporting Lisbon in September 2019 for the forward after he had spent the previous two seasons in Portugal with Vitoria Guimaraes.
Leeds, who turned the loans of winger Helder Costa and goalkeeper Illian Meslier into permanent deals in July, have spent in the region of £100m since winning promotion back to the Premier League.
They have also paid a combined total of around £4.4m for under-23s players Joe Gelhardt, Sam Greenwood, Charlie Allen, Cody Drameh and Dani Van Den Heuvel.
Join our new commenting forum
Join thought-provoking conversations, follow other Independent readers and see their replies