An earthquake of 6.1 magnitude has struck the southern Philippine island of Mindanao, the US Geological Survey says.

The quake struck at a shallow depth of 10km, 12km northwest of the town of Hinatuan, the USGS said on Sunday.

There were no immediate reports of any casualties or damage and no tsunami warning.