The quake struck in the Molucca sea between the islands of Sulawesi and North Maluku at a depth of 22 miles, according to Indonesia’s geophysics agency BMKG.
Several smaller aftershocks followed and waves of up to half a metre (1.6 ft) are predicted for the nearest coastlines.
It caused panic in the city of Ternate, where people ran to higher ground. Some hospitals in the city, around 80 miles from the epicentre, sustained minor damage and had to evacuate patients, according to local media.
There were no immediate reports of casualties or damage. The national geophysics agency had not lifted the tsunami warning over an hour after the quake.
“We have not ended it because we are still monitoring the tide gauges for high waves ... though none have been recorded yet,” Rahmat Triyono, a BMKG official, told Kompas TV.
Residents in the seaside resort city of Manado, 115 miles from the epicentre, said the quake was felt strongly for several seconds but no damage was reported.
The US Geological Survey measured the quake at magnitude 6.9 at a depth of 15 miles.
Indonesia is prone to earthquakes and volcanic eruptions due to its location along the Pacific Ring of Fire.
A powerful Indian Ocean quake and tsunami in 2004 killed a total of 230,000 people in a dozen countries, most of them in Indonesia.
Last month the coast of Indonesia was hit by a 7.3-magnitude earthquake, which was felt in East Timor’s capital Dili and Australia’s most northern city, Darwin.
There were no reports of any damage or injuries as a result of the earthquake, and Indonesia’s geophysics agency said it did not cause a tsunami.
Additional reporting by agencies
Join our new commenting forum
Join thought-provoking conversations, follow other Independent readers and see their replies