Aid agency Save the Children says Islamist militants are beheading children as young as 11 in Mozambique's northern province of Cabo Delgado.
One mother told the agency she had had to watch as her 12-year-old son was killed in this way close to where she was hiding with her other children.
More than 2,500 people have been killed and 700,000 have fled their homes since an Islamist insurgency began in 2017. The militants are linked to the Islamic State (IS) group.
In its report, Save the Children said it had spoken to displaced families who reported gruesome scenes in the gas-rich province.
A mother recounted, "that night our village was attacked and houses were burned," she said.
"When it all started, I was at home with my four children. We tried to escape to the woods but they took my eldest son and beheaded him. We couldn't do anything because we would be killed too."
Another woman said her son had been killed by militants while she and her other three children had been forced to flee.
"After my 11-year-old son was killed, we understood that it was no longer safe to stay in my village," she said.
"We fled to my father's house in another village, but a few days later the attacks started there too."
Chance Briggs, Save the Children's country director in Mozambique, said the reports of attacks on children "sicken us to our core".
"Our staff have been brought to tears when hearing the stories of suffering told by mothers in displacement camps," he said.
The United Nations special rapporteur on extra-judicial executions described the militants' actions as "cruel beyond words". The insurgents are known locally as Al-Shabab, although they have no known links to the Somali jihadi group of the same name.