The attacker was identified as a 16-year-old ex-student who used a semi-automatic weapon and was wearing military uniforms.
At least three people were killed and 11 injured after a former student opened fire at two schools in the southeastern Brazilian state of Espirito Santo, police said.
The alleged shooter was identified as a 16-year-old wearing military-style camouflage clothing with Nazi symbols, authorities said of the twin attacks that took place at 10am (1pm GMT) on Friday in the town of Aracruz, 50 miles away. north of the capital Vitoria.
He first fired at teachers at his former school, a public primary and secondary school, killing two people and wounding nine.
The gunman then went to a private school on the same street, where he killed a teenage girl and injured two people, officials said.
The teenager has been arrested, Espirito Santo Governor Renato Casagrande confirmed.
“He was in (first) school until June, a 16-year-old minor. His family then transferred him to another school. We have information that he was undergoing psychiatric treatment,” Casagrande told a news conference.
Two weapons were used in the attack by the teenager, the son of a military police officer. Both firearms were registered to his father.
Security camera footage broadcast on Brazilian media showed the gunman running into the school, speeding through the halls with a semi-automatic weapon and firing shots. Police are investigating possible links to extremist groups, as he wore a swastika on his uniform.
The lives of some of the injured remained in danger, the governor said, declaring three days of mourning in the state.
School shootings are uncommon in Brazil, but have increased in recent years.
Twelve children were murdered in 2011when a man opened fire at his former primary school in Realengo, a suburb of Rio de Janeiro, then killed himself.
In 2019 two former students shot eight people at a high school in Suzano, outside Sao Paulo, also took their own lives.
elected president Luiz Inácio Lula da Silva described the shooting as an “absurd tragedy”.
Lula, who was president from 2003 to 2010, will take office on January 1 after defeating the far-right president Jair Bolsonaro in last month’s elections.
He has heavily criticized Bolsonaro’s relaxation of gun control laws.