"I didn't have much time to think, it was like a shock," Zakarias Labidi, a 13-year-old student who received minor injuries in the blast, told the TT news agency.
The incident occurred in a classroom at the Kvarnbergsskolan in Huddinge, south of Stockholm, just after midday on Wednesday.
Four people were hospitalized with minor injuries, and ten others were also injured. Damage to the building was limited.
Later in the afternoon, police called in four young people for questioning, according to the Aftonbladet newspaper. A witness said one of them had built an explosive device.
"He'd seen how to do it on the internet," the witness said.
Emergency workers told TT that the explosion involved a plastic bottle that contained some sort of liquid, but further details about the contents remain unknown.
Student Zakarias Labidi explained that the liquid contained "bits of foil" and was hurled into the room from another floor.
"It landed about two metres from our table, then a teacher came to pick it up and throw it away. Then, she noticed it was warm and then it exploded in her hand. Liquid went all over her and on some of the other students," he told TT.
Emergency services directed students to a nearby community and recreation centre following the incident.