Gunmen from Filipino terror group Abu Sayyaf have killed at least 18 villagers, including women and children, in a road attack in the southern Philippines.

The civilians were travelling to meet their relatives and celebrate Eid, the end of the Muslim holy month of Ramadan.

Military officials told AP that around 50 Abu Sayyaf militants, armed with assault rifles, opened fire on the two vans carrying the villagers.

In the attack, dozens of people were also wounded. Two children died and another 11 sustained injuries.

The incident took place in Talipao town, in the predominantly Muslim Sulu province, around 950 kilometres from the capital Manila.

The motive of the ambush is still unknown.

However, Brigadier General Martin Pinto said it may have been sparked by a family feud involving some of the militants.

The victims included at least four members of a Talipao civilian security force called Barangay Police Action Team, which has been helping fight the insurgents in recent months, Pinto added.

Abu Sayyaf have been engaged in a war against the Filipino government in a bid to create an independent caliphate in the country.

The Islamist group, created in 1991, carries out deadly attacks, kidnappings and extortions mainly in the southern Philippines.

Abu Sayyaf, classified by the US as a terrorist organisation, is believed to be composed of around 300 members.

Last year, the militants sparked global outrage as they kidnapped some foreign tourists who were later rescued.

However, at least 10 hostages, including two German tourists seized in April and two birdwatchers, one Dutch and the other Swiss, who were kidnapped two years ago are believed to be currently held by the militants.

In 2004, Abu Sayyaf carried out what has been dubbed as the worst terrorist attack in the Philippines, killing 116 people in a bomb attack on a ferry.