Hopes for the 100 people still missing after a Tanzanian ferry sank off the Indian Ocean island of Zanzibar are fading away, with 38 bodies already recovered.

The overcrowded vessel, which was carrying around 290 passengers and crew, capsized near Chumbe Island, west of the semi-autonomous Zanzibar, in rough seas.

It had left Tanzania's capital Dar es Salaam around Midday Wednesday.

Strong waves and high winds have complicated on-going rescue efforts.

About 145 people were rescued.

But Zanzibar police spokesman Mohamed Mhina said there was little hope of saving more people.

"Search operations continue but it is now almost impossible survivors will be found." he told reporters.

"The ship has completely sunk. There were 290 people on board," said Mhina.

The ferry maximum capacity was of 250 people according to Zanzibar marine authorities.

"This tragedy affects all of us, and the pain and suffering of those affected is the pain and suffering that we feel," Tanzanian President Jakaya Kikwete said in a statement. "We pray that those injured have a speedy recovery."

Tanzania police chief has arrived in Zanzibar to coordinate rescue and launch an investigation.

The archipelago is renowned for its white-sand beach resorts and for Stone Town, the old quarter of Zanzibar, which is Unesco heritage site and popular tourist destination.

In September, another ferry, the Spice Islander, sank off Zanzibar. Angry survivors blamed port and ferry officials for the incident. They reportedly ignored the protests of passengers that the ship was overcrowded. Around 200 people died.

"The government has killed all these people. They must bring the owner of the boat to us," Abdallah Sadick told Reuters, adding his brother was among the missing passengers.