The weather service said there is a threat of tsunami waves reaching 0.3 to 1 meter (about 1 to 3 feet) above tide level for the coasts of Jamaica, Belize, Cuba, Honduras, Mexico and the Cayman Islands.
The United States Geological Survey said the earthquake had a preliminary depth of 10 kilometers (6 miles).
The quake hit 125 kilometers (77.6 miles) north-northwest of Lucea in Jamaica.
There are no initial reports of damage or casualties.