The undersea tremor hit at 4:05 pm (local time) at a depth of 10 kilometres (six miles), 215 kilometres south of Bengkulu, and almost 500 kilometres west of the capital Jakarta, said the USGS.
Fadli Yusuf, an official from Indonesia's meteorology, climate and geophysics agency, said the quake was felt moderately in parts of Sumatra but there were no immediate reports of damage or casualties.
Indonesia sits on the Pacific "Ring of Fire" where continental plates collide, causing frequent seismic and volcanic activity.