The coast guard rescued five people and was looking for about 20 others who were still missing, the official said.
“The boat sank about six miles off the coast of Sfax. Twenty bodies were recovered, five more were rescued and all are from Sub-Saharan Africa,” said security officer Ali Ayari.
About 45 people were on the boat when it sank, he added.
The coastline near the Tunisian port city of Sfax has become an important starting point for people fleeing conflict and poverty in Africa and the Middle East and in search of a better life in Europe.
Countries like Italy and Malta saw an increase in sea arrivals this year from Tunisia – where high unemployment and uncertain socio-economic conditions boosted migration – and from Libya, where conflict and war were a major factor, according to United Nations data High Commissioner for Refugees (UNHCR).
Thursday’s deaths add to the already long list recorded this year, even with Covid-19 travel restrictions in place.
The boat was carrying more than 120 people, including women and children, according to the IOM.
Soda called for a change in the “impractical approach to Libya and the Mediterranean, including an end to returns to the country and the establishment of a clear landing mechanism followed by solidarity from other states.”
“Thousands of vulnerable people continue to pay the price of inaction both at sea and on land,” he said.
Migration-related deaths are often underreported and unreported, according to the IOM, which also said that the pandemic made it more difficult to collect this data.
CNN’s Emma Reynolds and Sharon Braithwaite contributed to this report.