The quake struck at 2:44 am, 40 kilometres northwest of Islamabad, at a depth of 33 kilometres, the US Geological Survey said.
Tremors were felt in several cities, including Peshawar and Islamabad, where residents rushed into the streets.
Pakistan's meteorological department measured the magnitude as 5.3 and placed the epicentre at the town of Abbottabad.
"No loss of life or damage to property has been immediately reported," Mohammad Riaz, an official with the department, said.
The quake came just days after the fifth anniversary of a 7.6-magnitude earthquake which struck on October 8, 2005 and killed more than 73,000 people, mainly in Kashmir and parts of Khyber Pakhtunkhwa.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ