A storm packing powerful winds ripped off roofs and toppled trees in Romania on Sunday, killing eight people and injuring dozens more, officials and witnesses said.

With gusts that reached nearly 100km/h, the storm pounded the area around the western city of Timisoara before heading north towards Ukraine.

Most of the victims were outside when the winds swept in. One man was hit by a falling tree, another by a billboard. Two children were in hospital in critical condition.

The interior ministry reported that 67 people were injured in the unexpected storm.

"Trees and roofs were torn off. Trucks were flipped over, water and electricity were cut off," Timisoara's mayor Nicolae Robu told TV channel Digi 24.

"We weren't warned about this. The weather report only called for rain," he added.

Teodora Cumpanasu of Romania's national meteorology agency classified the storm as having a "rare intensity" and being "unexpected".

In particular, Cumpanasu blamed an abnormal, days-long accumulation of hot air that stagnated in the atmosphere. Temperatures were above 30 degrees Celsius in Romania on Sunday.

The storm killed at least five people around Timisoara before travelling 400 kilometres north and striking other areas along the way.

"Everything happened very fast," Romania's interior minister Carmen Dan said.

Romania's national weather agency has issued warnings of strong winds and rainstorms for western areas.

Emergency responders have urged people to take shelter indoors, unplug household appliances and park in areas away from trees and power lines.