A man who survived the mosque attacks told a crowd of about 20,000 that he forgives the terrorist who killed his wife and 49 other people.

Farid Ahmed was speaking at a national remembrance service held Friday in Christchurch to commemorate those who died in the attacks two weeks ago.

It was the third major memorial held in the city since the attacks and a more formal occasion, with dignitaries from other countries attending, including Australian Prime Minister Scott Morrison.

New Zealand's police force put on a show of force, closing down nearby streets and patrolling the park with semi-automatic weapons. But the atmosphere was relaxed during the 90-minute service held on a sunny morning in Hagley Park.

Featured musical guest was Yusuf Islam, also known as Cat Stevens.