In her New Year's address delivered less than two weeks after a Tunisian suspect rammed a truck into a crowded Christmas market in Berlin, killing 12 people, Merkel acknowledged it was "bitter and sickening" that the attack and others in July were carried out by asylum seekers.
Nevertheless, she defended her decision in September 2015 to let in tens of thousands fleeing war from mostly Arab and Muslim nations.
"When we look at the images of bombed out Aleppo in Syria, we have to say once again how important and right it was for us to have helped those who needed our protection to find their way here and to integrate," she said.
Merkel said it was through such values of humanity and openness that Germany should face down those who espouse hate.
"As we go on with our lives and work, we tell the terrorists: You are murderers full of hate, but you will not determine how we live and want to live. We are free, compassionate and open," she said.
Merkel has been under fire over her liberal refugee policy, as the arrival of around a million people over the past two years has deeply polarised society.
Two other attacks carried out in July by asylum seekers, and the December 19 assault have emboldened right-wing populist critics. The German leader promised that the government will in 2017 "swiftly put in place and implement any necessary political or legal changes" to close down any security gaps, after the Berlin truck attack exposed serious failures.
But she cautioned against placing certain groups of people under a blanket of suspicion.
Without naming populists, Merkel hit out at those who she said present a "distorted" picture of democracy.
But she said the system is "strong, it allows everyone to act, participate.
"It accepts, no, it demands contradictions and criticisms. Criticism that peacefully and respects individuals, that seek solutions and compromises and does not exclude entire groups," she said, urging politicians not to forget these guiding principles in the run-up to elections in 2017.