Rescue efforts continue for up to 100 passengers missing after an overloaded ferry sank in Bangladesh.

About 200 passengers were onboard, with 100 so far rescued and several dead bodies recovered.

"The waves were huge, the ferry was rolling heavily from side to side," said survivor Syed Saadi, whose wife and two sons were still missing.

"The boat flooded with water after a huge wave hit it, and tipped over before sinking under the water," he told Channel 24 television.

The ferry was around 30km south of the capital Dhaka when it sank on the river Padma in the central district of Munshiganj.

Ferry accidents are common in the impoverished country, with overcrowding and poor ship design and maintenance often to blame.

Local police chief Tofazzal Hossain told AFP the vessel was overloaded with passengers and conditions were rough.

Rescue workers and the navy have been mobilised at the scene and a ship with underwater cameras deployed to try to locate the sunken vessel.

Fire service official Mohammad Dulal told AFP that divers were being deployed to try to locate the sunken ferry and look for survivors. But stormy conditions and large waves were preventing them from going into the water.

The police chief of Madaripur, where the ferry began its journey, said it was carrying between 170 and 200 passengers.

But one survivor, speaking on local television, said there were up to 350 passengers on board.

"There was no storm, but the weather was cloudy and the river was rough," he said.

"Suddenly the ferry was hit by a wave and flooded with water. I got out through a window and the ferry sank quickly.

"I was rescued by a local motor boat, other people were also rescued by boats."

Bangladeshi ferries do not maintain passenger logbooks, and are often overloaded.