Italy captain Fabio Cannavaro has completed his move from Internazionale to Juventus, it has been reported.

The 30-year-old, considered one of the best defenders in the world, has signed a three-year deal that will see him earn 3.5m euros per season, according to Gazzetta dello Sport.

Juventus are understood to have paid no fee after convincing Inter during weekend talks to accept Uruguayan keeper Fabian Carini as part of a straight swap deal.

Carini, who is currently on loan at Belgian side Standard Liege, has signed a four-year contract with the Milan club.