The bodies recovered so far included 12 women and eight children, said Jahurul Islam, district administrator of northern Panchagarh, where the accident occurred.
"The rescue operation for those missing is ongoing," he said. The ferry was taking devotees to a Hindu temple.
Islam said he did not know the exact number of people missing, but passengers said more than 70 people had been on board.
Police said some 30 people were still missing while some of the passengers managed to swim ashore.
Hundreds of people die each year in ferry accidents in Bangladesh, a low-lying country that has extensive inland waterways and lax safety standards.