A magnitude 4.1 earthquake has hit west of Christchurch, causing weak shaking.

The quake struck at 6.34am, at a depth of 4km. Its epicentre was 30km south of Oxford, which is northwest of Christchurch.

More than 600 people reported to Geonet that they had felt the quake, with most describing the shaking as weak or light.