The quake's epicenter was 75 miles southwest of Sukabumi and had a depth of nearly 15 miles, The Jakarta Globe reported.
Tall buildings in Jakarta swayed during the quake, sending workers out of the high raises.
"I was inside the building when the first quake felt," said Okta Wiguna, who works in Mampang Prapatan, South Jakarta. "The building shook, and many of the workers fled as the earthquake lasted several seconds and got stronger."
The quake, which struck at 6:18 p.m., was felt in Bandung, Tasikmalaya, Bogor and southern Jakarta, Bernama reported.