Witnesses to a mass shooting in the US state of Minneapolis have described the terrifying scenes after an attacker opened fire on a church in which children were celebrating Mass on Wednesday morning.

One young boy described being protected by a friend who got hit himself.

Two children were killed and 17 others injured in an incident that the FBI is treating as an anti-Catholic hate crime.

The attacker, named as 23-year-old Robin Westman, died at the scene from a self-inflicted gunshot wound. Authorities have not yet provided a suspected motive.

Westman was a former pupil of the school adjacent to the church. The attacker's mother had previously worked at the establishment, according to a school newsletter from 2016. The young survivor, 10-year-old Weston Halsne, explained that his friend saved him by lying on top of him to shield him from bullets, saying, I was super scared for him but I think now he's okay.

This horrifying shooting caught the community by surprise, with residents recalling their confusion upon hearing what they initially thought were construction sounds.

Describing the moment they realized it was gunfire, local resident PJ Mudd stated that he heard three booms and immediately rushed to the church to help.

Witnesses recounted the chaotic scenes as children emerged from the church covered in blood, with many local residents expressing their disbelief and horror.

A vigil for the victims drew hundreds of attendees who mourned the loss and offered support. Minnesota Governor Tim Walz called the situation all too common in the country, while President Trump expressed condolences, announcing that the US flag would be flown at half-mast in their honor.

The investigation into the motives behind this tragic attack is ongoing, with police noting that Westman had no extensive known criminal history and acted alone. Authorities discovered a manifesto linked to the shooter that was taken down by the FBI.