A gunman has opened fire at a St Louis high school, killing at least two people and wounding six others before officers fatally shot the suspect, the city's police commissioner says.

When police arrived at Central Visual and Performing Arts High School at 9.10am on Monday in response to an active shooter call, students were running out, telling officers that a shooter was inside with a "long gun", Commissioner Mike Sack said during a news conference. 

Entering the building, officers soon exchanged gunfire with the suspect, who appeared to be about 20 years old, fatally wounding him, Sack said.

An adult female and a teenage female were killed in the shooting, Sack said.

The other victims suffered gunshot and shrapnel wounds. 

Eight people were transported to the hospital while one died at the scene.

"While on paper we might have nine victims... we have hundreds of others," he said. 

"Everyone who survived this is going to take home trauma."

The doors had been locked at Central Visual, a magnet school attended by about 380 students, before the shooting, Sack said. 

Security staff identified how the suspect entered the building but he declined further comment on how the gunman got inside.

The shooting was one of dozens in US schools that caused death or injuries this year alone. 


AAP