Mudslides and flooding triggered by a tropical storm in the Philippines have killed 133 people, officials have said.

Dozens more are said to be missing.

Most of the deaths were in the provinces of Lanao del Norte and Lanao del Sur, and on the Zamboanga Peninsula, Romina Marasigan from the government's disaster response agency said.

In the fishing village of Anungan, more than 30 people were swept away by flash floods. Sibuco town mayor Bong Edding said five bodies had been recovered so far.

"The floodwaters from the mountain came down so fast and swept away people and houses," Mr Edding said.

"It's really sad because Christmas is just a few days away. But these things happen beyond our control."

Mr Edding blamed the tragedy on years of logging in the mountains near Anungan.

Emergency workers, soldiers, police and volunteers have been mobilised to search for survivors, clear debris, and restore power and communications.

Thousands of people were moved to emergency shelters, while thousands more were stranded at air and sea ports.