Officials say 31 people also missing after a boat with about 160 people on board sank in Guatape reservoir.

A tourist boat packed with about 160 passengers for the holiday weekend has capsized in northwestern Colombia, leaving at least six people dead and 31 missing, according to officials.

Rescuers including firefighters from nearby cities and air force pilots were searching for survivors at the El Penol reservoir in the tourist town of Guatape where the four-deck boat El Almirante sank on Sunday.

President Juan Manuel Santos said that 122 people were either rescued or found their way to shore.

“Nobody really knows what happened,” he said.

READ MORE: Bogota’s bibliophile trash collector who rescues books

He said he had been told “the boat had a capacity greater than the number of people on board, so that it was not due to overloading” that it sank.

The death toll was revised down from an earlier figure. An official in the National Risk Management Unit told AFP new agency that the six victims were “all Colombians and no minors”.

Videos circulating on social media showed the ferry rocking back and forth as people crawled down from a third-floor roof as the ship began sinking.

A flotilla of recreational boats and jet skis rushed to the scene, pulling people from the boat as it went down, helping to avoid an even deadlier tragedy.

“Those on the first and second floors sank immediately,” survivor Lorena Salazar told local media.

“All we could do was scream and call for help … it was completely chaotic.”

None of the passengers wore a life vest.

“It sank extremely quickly. It all happened in a few minutes,” said Luis Bernardo Morales, a fire service captain involved in the rescue effort.

“What we have seen in the videos is that the boat was very close to the port … and we do not know whether it was a mechanical failure, an overloading or something to do with the currents that caused it to sink.”

Some survivors described hearing a loud explosion near the men’s bathroom that knocked out power a few minutes after the boat began its cruise around the giant lake.

Naval officers had come to investigate the cause, President Santos said, adding that divers would continue searching for people all night.

Authorities were at a loss to say exactly how many people were on the boat and asked passengers or their loved ones to report to a rescue centre hastily set up along the shore.

The reservoir surrounding the soaring rocky outcrop of El Penol is a popular weekend destination a little more than an hour from the city of Medellin.

It was especially busy on Sunday as Colombians celebrated a long holiday weekend.