A pre-dawn fire at a four-star hotel in Pakistan's Karachi killed 12 people and wounded 75, police said, with desperate guests jumping from windows and scrambling down knotted bed sheets to escape.

The blaze at the Regent Plaza Hotel in the centre of the port city broke out when many guests were still asleep, with a lack of fire alarms and emergency exits leaving many trapped in their rooms.

"The hotel had no fire safety system and no fire exit to evacuate people, they had no fire alarm," Karachi's mayor told reporters at the site.

"Trapped people showed courage and made ropes of bed sheets and came out one by one, many people have been injured," a hotel guest, himself injured in the fire, told AFP.

Guests were left helpless for hours, he said. Police said it took up to three hours to bring the fire under control.

Many of the victims had suffered from smoke inhalation or suffocated, a doctor at Karachi's Jinnah hospital said, but others had cuts or fractures suffered as they leapt from the eight-storey hotel's upper floors to safety.

Some trapped by the spreading blaze had knotted bedsheets together in a desperate attempt to climb out from their rooms, with the makeshift ropes seen dangling from windows at the site.

Building fires in Pakistan are often caused by faulty wiring or electrical short-circuits.