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 given a suspected motive.

The young survivor, 10-year-old Weston Halsne, explained to CBS affiliate station WCCO that his friend saved him from bullets by lying on top of him.