The US Geological Survey said the magnitude-7.8 quake hit just after midnight (11:02 GMT on Sunday), some 95km (59 miles) from Christchurch.
The tsunami arrived in the north-eastern coast about two hours later. Officials said the first waves may not be the largest, with tsunami activity possible for several hours.
Residents were warned to head inland or for higher ground along the coast.
A gauge at Kaikoura, 181 km (112 miles) north of Christchurch, measured a wave of 2.5m (8ft 2ins), according to Weatherwatch.co.nz.
Smaller waves are said to be arriving in Wellington and other areas, the website said.
But the ministry of civil defence has said the highest waves, which could be as tall as 5m are expected between Malborough, the north-eastern tip of the South Island, and Banks Peninsula, just south of Christchurch.
Residents in the Chatham Islands, an archipelago 423 miles (680km) south-east of the mainland, were also being warned a wave would hit imminently by the civil defence.
Thousands of people have already evacuated their homes as aftershocks continue to hit the area, Radio New Zealand reported.
Others have taken to social media to offer people a safe bed for the night.
New Zealand lies on the notorious Ring of Fire, the line of frequent quakes and volcanic eruptions that circles virtually the entire Pacific rim.
Christchurch is still recovering from the 2011 earthquake that killed 185 people and destroyed the city centre.