At least seven people have been killed in a magnitude 5.9 earthquake on Indonesia's main island of Java.
The quake, which struck at 2pm local time, was felt across East Java, home to 40.7 million people, and nearby provinces, including the resort island of Bali, Indonesian media reported.
Two people were seriously injured, 10 were lightly injured, while an unspecified number of people in several villages were moved to evacuation centres as some houses have been destroyed, the country's disaster management agency, the BNPB said.
More than 300 homes and dozens of other buildings, including schools, hospitals, government offices and places of worship, were damaged, the agency said.
The numbers could change as authorities collect more information about the extent of casualties and damage.
Images in media showed flattened houses in towns near the southern coast of East Java, the closest area to the epicentre of the quake.
The quake struck in the Indian Ocean 91km off the southern coast of East Java. It had a magnitude of 5.9 at a depth of 96km, according to the European-Mediterranean Seismological Centre, which reduced the quake's magnitude from an initial 6.8.
Video shared by social media users showed people running out of a shopping mall in Malang city amid the strong tremor.
"I felt the earthquake twice, the first time for two seconds and then it stopped, but then it shook again for five seconds," Edo Afizal, a receptionist at a hotel in Blitar, told Reuters by phone.
Indonesia was struck last week by tropical cyclone Seroja, which triggered landslides and flash floods killing more than 170 people on islands in East Nusa Tenggara province.
Straddling the so-called Pacific Ring of Fire, Indonesia is regularly hit by earthquakes. A magnitude 6.2 quake that struck Sulawesi island in January killed more than 100 people.