The ferry began its journey at a Dhaka terminal and was a couple of hours into its journey when it capsized, officials said.
Some passengers swam to the shore, while many others remain missing. Dozens of others floating in the Meghna river were safely brought ashore by the rescuers, officials said.
The dead included women and children, police said.
“We’ve found 12 bodies so far … many people are still missing. We can’t exactly say how many are missing,” district police superintendent Zakir Hossain Majumder told CNN.
The death toll might rise as the rescue operation continues, deputy commissioner Saiful Hassan Badal said.
“It was a river estuary and very deep. … I was on the deck of the ferry and jumped off as the ferry turned aside and started sinking,” survivor Shafiqul Islam said. Shafiqui survived by swimming to the shore, he told CNN.
Ferry accidents are common in Bangladesh because of overcrowding and poor monitoring systems.