Updated: 10.15am
A gunman murdered 19 children and two teachers in the deadliest US school shooting in nearly a decade, prompting US president Joe Biden to urge Americans to confront the country's gun lobby and pressure Congress to tighten gun laws.
Authorities said Salvador Ramos (18) shot his grandmother, who survived, on Tuesday before fleeing and crashing his car near Robb Elementary School in Uvalde, Texas, and killing at least 21 people before being killed, apparently shot by police.
Officers saw the gunman, clad in body armour, emerge from the crashed vehicle carrying a rifle. They said he acted alone; his motive was unclear.
In a televised speech Mr Biden said: "As a nation, we have to ask when in God's name we're going to stand up to the gun lobby, when in God's name we do what we all know in our gut needs to be done."
A Democrat, Mr Biden accused the gun lobby of blocking enactment of tougher firearm safety laws. He ordered flags flown at half-staff daily until sunset on Saturday in observance of the tragedy.
"I am sick and tired of it. We have to act," he said without going into specifics.
Mass shootings have frequently led to public protests and calls for stricter background checks on gun sales and other firearm controls common in other countries, but such measures repeatedly fail in the face of strong Republican-led opposition.
The school houses second, third and fourth grade children, meaning pupils would likely have ranged in age from 7 to 10-years-old.
"My heart is broken today," school district superintendent Hal Harrell told reporters late in the day, his voice quaking with emotion. "We’re a small community and we need your prayers to get us through this."
The community, deep in the state's Hill Country region about 130 km west of San Antonio, has about 16,000 residents, nearly 80 per cent of them Hispanic or Latino, according to US Census data.
Hours after the shooting, police had cordoned off the school with yellow tape. Police cruisers and emergency vehicles were scattered around the perimeter of the school grounds. Uniformed personnel stood in small clusters, some in camouflage carrying semi-automatic weapons.
Uvalde is experiencing the sickening aftermath of a horrific mass shooting. At least 14 children and a teacher are gone. Pray for the lost, their families, and Uvalde.
San Antonio has sent mass casualty resources to the region and will do all we can to help our neighbors heal.— Mayor Ron Nirenberg (@Ron_Nirenberg) May 24, 2022
The rampage was the latest in a series of mass school shootings that periodically reignite a fierce debate between advocates of tighter gun controls and those who oppose any legislation that could compromise the right of Americans to bear arms guaranteed by the US Constitution.
It was the deadliest school shooting since a gunman killed 26 people, including 20 children, at Sandy Hook Elementary School in Connecticut in December 2012.
Democratic US senator Chris Murphy of Connecticut, a leading advocate for legislation to restrict the proliferation of guns, told reporters: "I just don't understand why people here think we're powerless."
"There's just not a coincidence that we're the high-income-world's deadliest nation and we have the loosest gun laws. You know, guns flow in this country like water. And that's why we have mass shooting after mass shooting," he said.
Firearms became the leading cause of death for US children and adolescents starting in 2020, surpassing motor vehicle accidents, according to a University of Michigan research letter published in the New England Journal of Medicine last month.
Tuesday's horrors were reflected on the Facebook page of Robb Elementary School, where posts earlier this week showed the usual student activities - a field trip to the zoo and a save-the-date reminder for a gifted-and-talented showcase.
On Tuesday, a note was posted at 11.43am (GMT-5): "Please know at this time Robb Elementary is under a Lockdown Status due to gunshots in the area. The students and staff are safe in the building."
A second post said: "There is an active shooter at Robb Elementary. Law enforcement is on site."
Finally, a note was posted advising parents they could meet their children at the civic centre.