"Passengers who were sitting close to the exit could get away, but the others had no chance," Claus Roehrbein, a fire department official, said.
The bus, operated by a Hanover firm, was said to be returning home from a day trip to the picturesque small town of Haltern am See in the state of North Rhine-Westphalia.
According to the bus company there were 39 elderly passengers and the driver in the bus, but police said there were 33 people on board.
The local Hannoversche Allgemeine newspaper cited some of the 150 rescue workers as saying that the fire was the worst they had ever seen and that some of the bodies were charred beyond recognition.
It also cited police as saying that only those sitting in aisle seats were able to escape and that the positions of many of the bodies indicated they were trying to get out when they were overcome by smoke.
Initial reports that only a few passengers managed to escape have raised questions about safety guidelines.
Wolfgang Tiefensee, the German transport minister, said there will be a "close" examination into what caused the accident.
In 1992, 21 people were killed and 35 injured in a crash in the Black Forest region of southwestern Germany.