At least 17 people are dead after a 19-year-old man opened fire at a high school campus in Parkland, Florida, police have said.
The suspect has been named as Nikolas Cruz, 19, and is a former student at the school who had been expelled.
As the attack unfolded students were forced to hide as police swooped in on the building.
It is one of the deadliest school shootings since 26 people were killed at a Connecticut school in 2012.
Broward County Sheriff Scott Israel told reporters Mr Cruz killed three people outside the school, before entering the building and killing another 12.
Two people later died after being taken to hospital.
“It’s catastrophic. There really are no words,” Sheriff Israel tweeted later.
Dr Evan Boyar of Broward Health told reporters late on Wednesday that 17 people total had been taken to area hospitals.
He added that Mr Cruz was among those treated and was released into police custody. Three people remained in a critical condition and three others were in stable condition, he said.
The victims are still being identified. Sheriff Israel said a football coach was among the dead but no names have been released.
How the attack unfolded
On Wednesday, the local public school district tweeted that “students and staff heard what sounded like gunfire” just before the end of the day at the Marjory Stoneman Douglas High School.
Witnesses said that the suspect pulled a fire alarm before the violence erupted.
Police and SWAT team members swarmed the campus and began clearing students from the school in Parkland, about an hour north of Miami, as parents and ambulances converged on the scene.
Mr Cruz, who had been expelled for “disciplinary reasons”, was taken into custody without incident in the nearby town of Coral Springs about an hour after he left the high school, according to police.
“We have already begun to dissect his websites and things on social media that he was on and some of the things… are very, very disturbing,” Sheriff Israel said.
“Just a horrible day for us,” said Robert Runcie, the superintendent of the county’s school district.