The agreement sees Cancelo depart Juventus after just one season, having joined from Valencia in the summer of 2018.
Cancelo expressed his delight at completing his move.
"City are a fantastic club, with a brilliant manager and I am delighted to be here," he said. "Everything about them has impressed me, from the facilities, to their style of play. I am always looking to develop my game and win trophies and I believe I can do that here, so now I’m really looking forward to the new season and testing myself in the Premier League."
The Portugal international played at both left-back and right-back last season for the Bianconeri, although he's likely to provide competition for Kyle Walker on the right flank at the Etihad Stadium.
Cancelo is an exciting option for City and has developed a reputation as one of the most effective attacking full-backs in the game. The 25-year-old has plenty of energy to burst down the wing with energy and incision.
Per Squawka Football, the former Valencia and Inter Milan man loves taking on opposition players:
Italian football journalist David Amoyal thinks City boss Pep Guardiola will be an ideal manager for Cancelo to work under:
For Juventus, Cancelo will be a disappointing loss given he was one of the team's most consistent performers in 2018-19. New manager Maurizio Sarri will hope the arrival of Danilo will help fill the void.
The Brazilian moved to City from Real Madrid in the summer of 2017, but he's been unable to establish himself as a regular in the side. Walker has nailed down the starting berth at right-back, while Oleksandr Zinchenko has emerged as a dependable left-back option.
According to Sam Lee of Goal, Danilo has been holding off agreeing to a move until a high-profile club made an offer for him:
Broadcaster Mina Rzouki said she's unsure why Juventus have brought in the former Los Blancos man:
The transfer means City are blessed with great depth in the full-back positions as they seek to secure a third successive Premier League title. Cancelo will provide serious competition to Walker for his place in the side and has also shown he can do a job at left-back should he be required.
Juventus will be getting a dependable performer in Danilo, although he doesn't boast the same sort of attacking spark that Cancelo has. Sarri will hope he can draw more from the 28-year-old in Turin than Guardiola was able to at City.