A ferry with more than 250 people on board, including some foreigners, capsized and sank between the east African coast and the Zanzibar archipelago, killing at least 31 people.

The ferry, MV Skagit/Kalama, set sail from mainland Tanzania for Zanzibar, a popular tourist destination.

A local police commissioner said 145 people were rescued and the rescue operation has been suspended overnight.

A government spokesman said a foreigner was among those killed, but it was not clear how many others had been on board the vessel.

The ferry is owned by a company named Seagull, which also runs a number of other ferries. Previous reports had indicated the vessel was called MV Salama.

More than 200 people were killed when a crowded ferry sank in September off the coast of east Africa in the worst maritime disaster in the history of Zanzibar.