Footballer Cristiano Ronaldo has pleaded guilty to tax evasion, accepting a fine worth 18.8 million euros ($21.4m) and a suspended 23-month jail term after a pre-agreed deal with Spanish tax authorities last year.

The 33-year-old Portuguese captain appeared in a court in the Spanish capital, Madrid, on Tuesday, over accusations of using shell companies outside Spain to hide income made from image rights.

The five-time world footballer of the year is unlikely to serve a jail term under the deal because Spanish law states that a sentence of under two years for a first offence can be served on probation.

Ronaldo, who plays for Italian club giant Juventus, came out of the courtroom smiling, pausing to sign autographs before leaving in a black van.

171024140509804

The charges against the striker stem from his days at Spanish league side Real Madrid, whom he played for from 2009-2018.

In 2017, a state prosecutor accused Ronaldo of four counts of tax fraud between 2011-2014 worth 14.7 million euros ($16.7m) via a shell company based in the British Virgin Islands and another in Ireland, known for low corporate tax rates.

In addition, prosecutors said Ronaldo declared only 11.5 million euros ($13.6m) of Spain-related income from 2011 to 2014, during which time his actual earnings were close to 43 million euros ($50.8m).

They also accused the star footballer of "voluntarily" refusing to include 28.4 million euros ($33.6m) in income linked to the sale of his image rights for the 2015 to 2020 period to a Spanish company.

Ronaldo had previously denied the charges through his agents.

After reaching the deal, he paid a fine of 5.7 million euros ($6.5m), plus interest of about one million euros, in July 2018, the prosecutor's office said last week.

Ronaldo, who is also facing rape allegations by a former model in the United States, is the latest football star to fall foul of tax evasion in Spain.

Barcelona's Lionel Messi was handed a 21-month prison sentence in 2017 on similar charges, but Spanish law allowed him to exchange it for a fine.