Officials say the photo of Ms Badu in The Star newspaper was “an insult to Islam”. The paper has apologised.
The Grammy-award winner was due to perform on Wednesday in Kuala Lumpur and is said to be dismayed at the news.
Muslim-majority Malaysia has previously warned other international artists to dress modestly for their concerts.
Tattoos are forbidden in Islam and using the word “Allah” in a way deemed disrespectful offends many Muslims.
The photo of Ms Badu with several words in Arabic and Hebrew written on her body features prominently on her official fan site. It is not clear whether Ms Badu’s body art is permanent.
The Culture, Arts and Heritage Ministry says it was not aware of the tattoos when it initially approved the concert, the BBC’s Jennifer Pak in Kuala Lumpur reports. Some Muslims began protesting after The Star published the photo.
Now the culture ministry says it is justified in banning Ms Badu’s concert because it breaches religious sensitivities and cultural values.
Information Minister Rais Yatim said a government committee had decided to cancel the show because Ms Badu’s body art was “an insult to Islam and a very serious offence”.
According to the statement, the body art “triggered public criticism that could jeopardise national security and cause a negative impact to the government’s image”.
Concert organisers are in touch with officials and hope the cancellation will be reversed, the Associated Press news agency reports.
Ms Badu, 41, had already arrived in Malaysia. She is “worried and dismayed” over the incident, according to the concert organiser.
The Home Ministry has asked The Star to explain why it published the photo. The Star has already apologised, saying its inclusion in Monday’s edition was “inadvertent”.
“We deeply regret any offence caused to Muslims and sincerely apologise for the oversight,” the paper said on Tuesday. (BBC)