Mangled limbs wrapped in blood-stained rags were strewn across rooms in the school.
Run by the United Nations, the building was meant to be a refuge for more than 3,000 civilians fleeing the deadly conflict raging between Israel and Hamas in Gaza.
But shells hit it in the early morning hours as those inside slept, punching huge holes in the roof and killing at least 20 people, according to the Palestinian Health Ministry.
"We saw the shells when they hit and shrapnel was falling like rain," said Sanaa abu Gerard, a woman who witnessed the blasts. "I was so scared and the school filled with smoke. We poured water in our eyes just to see."
The deadly strike Wednesday underscores growing concerns that in Gaza, where fighting is taking place in densely populated areas, safe havens appear to be anything but safe.
It's the sixth time a facility run by the United Nations Relief and Works Agency (UNRWA) has been struck in the current conflict, intensifying questions about the tactics being used by both sides in areas crowded with civilians.
"People who go to these places expect that they go there because they will be safe," said Pierre Krahenbuhl, the commissioner-general for UNRWA. "And here is the confirmation that it appears that there is nowhere where you can be safe."
The United Nations said it thinks the rounds that hit the school, in the Jabalya refugee camp in northern Gaza, were fired by Israeli artillery. The Israeli military said it is reviewing what happened, acknowledging that it exchanged fire with militants in the area.
See the latest on "Early Start" at 5am ET.
MORE on CNN.com