An earthquake struck off the Greek island of Karpathos early today, shaking towns and cities across the eastern Mediterranean, witnesses and media said.

However, there were no immediate reports of casualties or major damage.

"Really felt that one... Lasted for 30 seconds," a witness in Lindos, Rhodes, said in a post on the European Mediterranean Seismological Centre's website.

The US Geological Survey said the earthquake was magnitude 6.0 with a depth at 37.8km.

The tremor was also felt on several other Greek islands including Crete and Santorini, state TV said.

It shook the Cypriot capital Nicosia, Beirut, Cairo and other cities in Egypt, parts of Israel and the Palestinian Territories, and the region around southern Turkey's Antalya, Reuters witnesses said.

Two powerful quakes rattled Crete in recent weeks, leaving one person dead and damaging buildings.

A Greek seismologist said today's quake came from a different African fault and no aftershocks were expected.