"It tilted and part of it sank due to crowd pressure as it arrived near the Nazirpur river station," Zakir Hossain, a local police officer, told AFP.
"Many passengers have managed to land safely. But we believe some others who were staying in the cabins were trapped under water. We are trying to rescue them."
Police, fire brigade and local people rushed to the remote coastal village about 250 kilometres south of Dhaka to rescue the people trapped under water.
Nazrul Islam, a police inspector, said firefighters and volunteers rushed to the remote coastal village to rescue the people trapped underwater.
"So far we have rescued more than 50 people alive by cutting open lower cabins," he said, adding that at least 10 dead bodies, including four children, had been recovered.
"They have been shifted to a local hospital, with the conditions of seven very critical. Scores are still trapped underwater."
The passengers were going to their village homes to celebrate the Eid al-Adha, the second most important Muslim festival.
Nicolas Haque, Al Jazeera's correspondent in Bangladesh, quoting police officers who were on board said there were about 2,000 people in the vessel when it sank.
"Ferry accidents happen a lot in Bangladesh and that's partly to do with the fact that ferries are old and burdened with so many passengers that board the ship," he said.
"But [they happen] also because the currents are much stronger now because the river intensity has increased."
Poor safety standards and overloading also add to the high frequency of boat and ferry accidents in the country, which is criss-crossed by a network of 230 rivers.
Experts say most of the 2,000 large- and medium-sized ferries which ply the rivers are built in local dockyards without proper safety checks.