At least 19 children were killed in a shooting at a Texas elementary school on Tuesday, authorities told US media.
The death toll rose to 21, which included two adults, Texas Department of Public Safety sergeant Erick Estrada told CNN.
The gunman was killed by security forces, but it was unclear if he was being counted among the dead.
Official figures from local police were not initially available.
Texas State Senator Roland Gutierrez had earlier told CNN three adults had died. He also said the suspect's grandmother was in critical condition.
CNN earlier reported the suspect had shot his grandmother before heading to the school, citing multiple law enforcement sources.
The death toll makes the Robb Elementary School shooting the deadliest since 20 Sandy Hook elementary school children and six faculty members were killed in 2012.
Texas Governor Greg Abbott had earlier confirmed 14 students and one teacher were killed in the shooting in the small town of Uvalde, some 130 kilometres west of San Antonio.
Uvalde police confirmed that the suspect, who Abbott identified as an 18-year-old man, was dead.
Pete Arredondo, the chief of police for the Uvalde Consolidated Independent School District, said in a press conference that the "mass casualty incident" started around 11:30 am (1630 GMT) on Tuesday.
Shooter acted alone
Arredondo said the shooter was believed to have acted alone "during this heinous crime."
US President Joe Biden called for tougher gun laws in a White House address on the shooting, but did not detail specific plans.
"How many scores of little children, who witnessed what happened, see their friends die as if they're in a battlefield, for God's sake?" he asked.
"As a nation we have to ask: When in God's name are we going to stand up to the gun lobby?" Biden said.
"It's time to turn this pain into action," he said.
Biden ordered that the US flag be flown at half-staff until sunset on Sunday.