"It was very scary. The floor was swaying and I heard loud sounds from the upper floor like something was going to collapse," said one student after running out of the Grand Indonesia shopping centre in the heart of the city.

The quake was felt as far away as Surabaya, Indonesia's second-largest city, about 500km northeast of Tasikmalaya, and on the resort island of Bali, about 700 kilometres to the east.

Panic in Jakarta

Step Vaessen, Al Jazeera's correspondent in Jakarta, reported that at least 20 people were admitted to hospitals, some of them injured as people panicked as they ran from shopping centres or evacuated office towers.

Buildings swayed violently for at least a minute just after 3pm local time (08:00 GMT) and more injuries were expected as communication systems were restored.

In video
Indonesia's earthquake death toll could climb
There were reports that houses had collapsed in villages south of Bandung but there were no reports of any deaths, according to the Meteorology and Geophysics Agency technical chief Suharjono.

"There was a tsunami in the sea off Tasikmalaya but it was only 20cm high, it was insignificant," Suharjono added.

Indonesia's main power, oil, gas, steel and mining companies with operations in West and Central Java island closest to the quake's epicentre said they had not suffered any damage.

A 7.7-magnitude offshore quake triggered a tsunami off southern Java in 2006, killing 596 people and displacing some 74,000.