The quake struck at a depth of 41 kilometres (25 miles), 134 kilometres northwest of Kota Ternate at 0342 IST yesterday, the USGS said.
The Pacific Tsunami Warning Center said there was no tsunami threat. Hendra Rahman, an official from Indonesia's meteorology, climatology and geophysics agency, said the quake was felt moderately in Manado, on Sulawesi island, and on the island of Ternate.
But he added there had been no reports of damage.
Indonesia sits on the Pacific "Ring of Fire" where continental plates collide, causing frequent seismic and volcanic activity.
A huge undersea quake in 2004 triggered a tsunami that killed more than 170,000 people in Aceh province, on western Sumatra island, and tens of thousands more in other countries with coasts on the Indian Ocean.