Seventeen of the fatalities were female, while 11 were male. Most of the victims were German nationals.
The bus, which was carrying 55 people, had rolled down a steep hillside after veering off the road on a bend.
It happened in Caniço, a coastal town to the east of the island's capital city of Funchal.
Local mayor Filipe Sousa said on Wednesday evening: "I have no words to describe what happened.
"I cannot face the suffering of these people."
Bodies were scattered over the hillside, local media reported.
Authorities said an investigation into the cause of the crash has started.
Meanwhile, a UK Foreign Office spokesman said: "We are seeking information from the authorities in Portugal about a bus crash in Madeira, and are ready to support any British people who require assistance."
Marcelo Rebelo de Sousa, Portugal's president, was said to be travelling to the island, which is a popular tourist destination.
A regional civil protection official said the tourists involved in the accident were aged between 40 and 50 years old.
Portugal's public prosecutor's office plans to open an investigation into the accident, said Lusa.
Madeira is a popular tourist destination. The peak season is during the summer but it also gets many visitors around Easter.
Foi com profundo pesar que tomei conhecimento do trágico acidente na Madeira. A todas as famílias envolvidas transmito, em nome do governo português, as mais sentidas condolências.— António Costa (@antoniocostapm)April 17, 2019
Portuguese Prime Minister Antonio Costa sent a message of condolences to German Chancellor Angela Merkel.
"It was with deep regret that I learned about the tragic accident in Madeira," Costa said on Twitter. "To all families involved I send the deepest condolences."
The spokesman for the German government Steffen Seibert also expressed his condolences on Twitter. "Our deep sorrow goes out to all those who lost their lives in the bus, our thoughts are with the injured," he said in a tweet.