Rival protests over a murder in the east German city of Chemnitz have ended with several people injured as objects were hurled by both sides, police say.
Far-right activists had gathered in the centre for a second day as a Syrian and an Iraqi remained under arrest on suspicion of Sunday's deadly stabbing.
Anti-Nazi activists rallied just metres away, accusing the far right of using the death for political ends.
Injuries were caused when protesters on both sides threw objects, police say.
German Chancellor Angela Merkel had warned that "vigilante justice" would not be tolerated.
Police warned masked demonstrators who were picking up stones in the city, about 200km (120 miles) south of Berlin, that their actions were being filmed.
Earlier, authorities said police were investigating alleged assaults on an Afghan, a Syrian and a Bulgarian during the unrest that broke out on Sunday.
Reports have included mentions of protesters chasing foreigners, though there are few details.
Chemnitz police, quoted by the local broadcaster MDR, said: "We did not anticipate such a total of participants [on Sunday]".
Bigger crowds thronged the city centre on Monday. MDR estimated the far-right turnout to be 5,000, with some 1,000 leftists opposed to them.
What happened on Sunday?
It is unclear what triggered a fight which reportedly preceded the stabbing, at about 03:15 (01:15 GMT) on Sunday, on the sidelines of a street festival.
The far-right demonstration in the city centre on Sunday caused the festival to be cancelled abruptly.
The stabbing victim, a carpenter aged 35, was critically wounded and died in hospital. He has been named as Daniel H, who had a German mother and a Cuban father.
Two other German men with him, aged 33 and 38, were seriously hurt, police say.
The Syrian detainee is 23 and the Iraqi 22.
Police have denied rumours on social media that the fight was linked to the sexual harassment of a woman.
A half-Cuban woman who grew up with Daniel H, Nancy Larssen, told Deutsche Welle news that media misreporting had helped fuel the "horrible" far-right protest.
"It's sad that in the media they're just saying that a German has died, and that's why all the neo-Nazis and hooligans are out, but the media should describe who died, and what skin colour he had, because I don't think they'd be doing all this if they knew," she said.
Another friend of Daniel H, quoted by the Chemnitz news site Freie Presse, described him as left-wing, with a seven-year-old son.
How did protests spread?
Initially, about 100 people gathered on Sunday for a rally which passed off without incident, AFP news agency reports.
However, some 800 people later gathered at the Karl Marx monument, a focal point in the centre of Chemnitz.
The monument is a throwback to the city's days as a model socialist city in the former German Democratic Republic, when it was renamed Karl-Marx-Stadt.
Freelance journalist Johannes Grunert told Spiegel Online he had witnessed some protesters using bottles to attack people "who did not look German".
Pegida, the far-right street movement, called for a new demonstration on Monday afternoon, while an MP from the far-right political party AfD, Markus Frohnmaier, tweeted: "If the state is no longer to protect citizens then people take to the streets and protect themselves. It's as simple as that!"
"Today it's a citizen's duty to stop the lethal 'knife migration'!" he wrote, alluding to the influx of migrants in recent years. "It could have targeted your father, son or brother!"
Wenn der Staat die Bürger nicht mehr schützen kann, gehen die Menschen auf die Straße und schützen sich selber. Ganz einfach! Heute ist es Bürgerpflicht, die todbringendendie "Messermigration" zu stoppen!— Markus Frohnmaier (@Frohnmaier_AfD) August 26, 2018
Es hätte deinen Vater, Sohn oder Bruder treffen können!
As the heap of wreaths and candles at the spot where the murder occurred grew larger on Monday evening, right-wing demonstrators massed at the Marx monument, and counter-demonstrators gathered close by.
Police reported some Hitler salutes among the far-right crowd, who held anti-immigration placards with messages like "Stop the asylum flood".
Read more on similar topics:
What did Merkel's office say exactly?
"We don't tolerate such unlawful assemblies and the hounding of people who look different or have different origins and attempts to spread hatred on the streets," Mrs Merkel's spokesman, Steffen Seibert, told journalists.
"That has no place in our cities and we, as the German government, condemn it in the strongest terms. Our basic message for Chemnitz and beyond is that there is no place in Germany for vigilante justice, for groups that want to spread hatred on the streets, for intolerance and for extremism."
Martina Renner, an MP for the radical Left party, accused the far right of seeking to exploit the murder for political ends.
"A terrible murder, the background to which is still unclear, is being instrumentalised in the most repugnant way for racist riots in Chemnitz," she said in a tweet.
Ein schrecklicher Mord, dessen Hintergründe unklar sind, wird in #Chemnitz aufs Widerlichste für rassistische Ausschreitungen instrumentalisiert. Potentielle Opfer müssen geschützt werden, gegebenfalls auch durch ein #Versammlungsverbot für die rechte Mobilisierung heute Abend.— Martina Renner (@MartinaRenner) August 27, 2018
Why is the migrant issue so thorny?
In 2015, Chancellor Merkel decided to let in a record 890,000 asylum seekers. Syrians fleeing the civil war comprised the biggest group - a 403% rise on Syrian arrivals the previous year, the German migration office reported.
She and her allies were punished by voters at last year's general election, when the anti-immigrant Alternative for Germany (AfD) entered parliament for the first time, winning 12.6% of the vote and more than 90 seats.
Chemnitz is in Saxony, a region where AfD and Pegida are particularly strong.