A teenage gunman murdered at least 19 children and two teachers after storming into a Texas elementary school on Tuesday, the latest bout of gun-fueled mass killings in the United States and the nation's worst school shooting in nearly a decade.

The carnage began with the 18-year-old suspect, identified as Salvador Ramos, shooting his own grandmother, who survived, authorities said.

He fled that scene and crashed his car near the Robb Elementary School in Uvalde, Texas, a town about 80 miles (130 km) west of San Antonio. There he launched a bloody rampage that ended when he was killed, apparently shot by police.