The epicentre was in the Hindu Kush mountain range inside Afghanistan at a depth of 157 kilometres (97 miles), senior Pakistani meteorological official Mushtaq Shah told AFP.
The quake was felt in different northwestern cities and tribal regions including Upper Dir, Lower Dir, Swat and Bajaur.
The US Geological Survey put the magnitude at 5.5
In October last year a 7.5-magnitude quake ripped across Pakistan and Afghanistan, killing almost 400 people and flattening buildings in rugged terrain that impeded relief efforts.
Pakistan had confirmed death toll at 272, with 2,227 people injured and nearly 25,000 homes damaged, mostly in Khyber Pakhtunkhwa, where temperatures were already plunging below zero at night.