Zlatan Ibrahimovic has claimed he has not had the credit he deserves from the Swedish media because his name "is not Andersson or Svensson."
Manchester United striker Ibrahimovic won 116 caps for Sweden and has lifted league titles in four different countries.
But the 37-year-old said "undercover racism" meant he had not received proper acknowledgement because he does not have a traditional Swedish surname.
He told Canal+: "What does the Swedish media do? They defend me or do they jump on and attack me? They still attack me, because they cannot accept that I am Ibrahimovic.
"If another player would do same mistake I do, they would defend him. But when it comes to me, they don't defend me.
"This is about racism. This is about racism. I don't say there is racism but I say there is undercover racism.
"This exists, I am 100 percent sure. Because I am not Andersson or Svensson. If I would be that, trust me, they would defend me even if I would rob a bank. They would defend me, I tell you."
Ibrahimovic is coming to the end of a playing career that has spanned nearly 20 years and 850 games.
He is currently sidelined with a knee injury and did not travel with the rest of the United squad for their warm weather training camp in Dubai on Monday.
The striker said he had done enough to be considered the greatest player Sweden has ever produced.
He added: "What I did, nobody else has done. The Golden Ball in Sweden [awarded to the best male Swedish footballer each year]. The best that ever won it is two. Two Golden Balls. How many do I have? I have 11. Eleven Golden Balls.
"It has never happened. What I did for football Sweden, it has never happened. I am the best there is."