The quake struck 32 kilometres (20 miles) southeast of Mountain, Colombia, at 0340 GMT Sunday, according to the US Geological Service, which monitors quakes worldwide.
Both the Colombian geological service and the USGS said the quake’s epicentre was ten kilometres deep.
Colombian officials said that the municipalities of San Andres, Providencia, and Santa Catalina — part of an archipelago of the same name — were mostly affected.
The islands are located some 220 kilometres (140 miles) off Nicaragua’s eastern coast.
Colombia’s national disaster agency said that there was no tsunami alert for the country’s Caribbean coastline and that there were no reports of damage on the islands.