Salvador Ramos shot his grandmother before killing 21 people at a Texas primary school, including 18 children.
According to authorities, Ramos, who was armed with a handgun and possibly a rifle, shot his grandmother before entering Robb Elementary School in Uvalde, Texas around 12pm.
Reports of shots fired were called in at 11.32am, according to Texas officials.
Initially police reports said 15 people had been killed, but this has been raised to 21, including 18 children.
Texas Governor Greg Abbott said Romas "shot and killed — horrifically, incomprehensibly" more than a dozen people.
Thirteen of the victims were taken to Uvalde Memorial Hospital for treatment, and a 66-year-old woman and 10-year-old girl were transported to University Hospital in critical condition.
The school, which is about 136km west of San Antonio, has an enrolment of just under 600 students. Terrified children, ranging from second to fourth graders, were reportedly trying to climb out of windows to escape the building.
Two officers were also struck by gunfire, but they were not seriously injured.
In a press conference held shortly after 4.15pm local time, Texas officials confirmed the shooter is deceased.
Abbott said Romas was killed by responding officers.