Another 24 students were hospitalized with injuries, Valais cantonal (state) police spokesman Jean-Marie Bornet told The Associated Press.
The bus carrying 52 people, including 12-year-old students from two different schools, crashed around 9 p.m. local time Tuesday in a tunnel at Sierre, Switzerland, near popular ski areas in the Swiss Alps.
Police said the bus veered and hit a curb, then rammed into a concrete wall in the tunnel. The front of the bus was heavily damaged and blocked people from getting out. The cause of the crash has not been determined.
The highway was closed in both directions to aid in the rescue. Some eight helicopters and a dozen ambulances took victims to hospitals. Dozens of firefighters and police, 15 doctors and three psychologists were called to the scene.
A government spokesman said a crisis center has been set up and an emergency number provided for families.
Police said the victims were all thought to be Belgians living in Flanders. Belgian media reported that the children were from two towns, Lommel, east of Antwerp, and Heverlee, near Leuven.
The cantonal police commander called in the Belgian ambassador, Jan Luykx, who rushed to the scene.
Didier Reynders, the Belgian foreign minister, said authorities were still busy identifying all the victims.
"It is incomprehensible. There were three buses and only one was in (an) accident without any contact with another vehicle," he was quoted as saying on La Capitale's website. "It hit a wall in a tunnel."
What the stars mean:
★ Poor ★ ★ Promising ★★★ Good ★★★★ Very good ★★★★★ Exceptional