Many of the dead, mostly schoolchildren aged 12, are believed to have died instantly when the bus careered into an underpass wall on the A9 highway, near Sierre, Valais, close to the border with Italy.
Dozens more were injured in the smash, which came as a school party of 52 returned from an Alpine skiing holiday to the villages of Lommel and Heverlee in the Flemish region of Belgium.
Photographs showed the bus rammed up against the side of the tunnel, the front ripped open, broken glass and debris strewn on the road and rescue workers climbing in through side windows.
The bus was on its way back to Belgium from a ski trip. It slammed into a highway tunnel in Sierre in the Swiss canton of Valais.
The bus was carrying 52 people in total: two bus divers, four other adults and 46 children.
The cause of the crash is under investigation.
Belgium made available two military planes to take parents to see their injured children and to bring them back, Vandeweyer said.
“This is a tragic day for Belgium,” Belgium’s Prime Minister Elio Di Rupo said, adding he will be traveling to Switzerland Wednesday.