In a statement, the prosecutor's office said Ronaldo, a four-time Ballon d'Or winner, had used a "business structure" -- created in 2010 -- to hide the revenue generated by his image rights from the Spanish treasury, describing the breach as "voluntary" and "conscious."
The 32-year-old -- the world's highest-paid sports star according to Forbes
-- has been charged with four crimes against the public treasury.
The statement said the Portuguese became a Spanish tax resident in January 2010 and, in November 2011, opted to follow the Spanish tax regime that applies to foreigners working in the country.
Gestifute, the agency representing the Portugal captain, said in a lengthy statement posted on its website
the matter is a complex financial one.
"Cristiano's lawyers consider that regarding what the solution to this case ends up being -- as well as their consequences -- they should be confined to the administrative field rather than the criminal one," the statement said.
There was no attempt to evade taxes, Gestifute said.
In 2016, Barcelona's Lionel Messi, who for the last decade has vied with Ronaldo for the title of world's best footballer, was fined $2.3m for defrauding the Spanish tax authorities.
The Argentine, 29, had also received a 21-month jail sentence but avoided prison as it was the forward's first offense.
According to Forbes, Ronaldo has earned $93m over the last 12 months, with his salary accounting for $58m and endorsements $35m.
The Real star -- his club's all-time leading scorer -- has also enjoyed a stellar 12 months on the field, guiding Portugal to Euro 2016 success last summer and helping his club win the Spanish league and Champions League in the 2016/17 season.