In her strongest comments yet on the so-called "Patriotic Europeans Against the Islamization of the Occident" or PEGIDA, she spoke of demonstrators shouting "We are the people", co-opting a slogan from the rallies that led up to the fall of the Berlin Wall 25 years ago.
"But what they really mean is: you are not one of us, because of your skin colour or your religion," Merkel said, according to a pre released copy of a televized speech she was to due to deliver to the nation on Wednesday evening.
"So I say to all those who go to such demonstrations: Do not follow those who have called the rallies. Because all too often they have prejudice, coldness, even hatred in their hearts."
The nationalistic and xenophobic PEGIDA movement, only formed in late October, has since drawn more than 17,000 protesters onto the streets of the eastern city of Dresden, sparking heated debate and deep soul-searching in the country.
Merkel in her wide-ranging speech touched on crises such as west Africa's Ebola outbreak to conflicts in Ukraine and Iraq and Syria, where the Islamic State jihadist group "brutally murders all those people who refuse to submit to its rule".
"One consequence of these wars and crises is that worldwide there are more refugees than we have seen since the Second World War. Many literally escaped death," she said.
"It goes without saying that we help them and take in people who seek refuge with us," she said, pointing to the 200,000-odd asylum seekers who have come this year to Europe's biggest economy to ask for a safe haven.
Story continues below…
The chancellor mentioned demographics, the rapid ageing of the German population, as one of the key national challenges and called immigration "a gain for all of us".
Touching on the case of a Kurdish refugee who has settled in Germany, she said that it is "perhaps the biggest compliment" for the country to call it a place "where the children of the persecuted can grow up without fear".