German police have opened 10 cases against far-right protesters who gave the illegal Hitler salute during unrest in Chemnitz on Monday.
About 6,000 people took part in the far-right demonstration and 1,000 in a rival anti-fascist rally, police said.
The far-right groups marched in the eastern city after a German man died in a fight involving foreigners on Sunday.
The swastika and other Nazi symbols are banned in Germany. The law prescribes a fine or jail term for the Nazi salute.
It remains unclear what triggered Sunday's fight in which the 35-year-old man, named only as Daniel H, was fatally stabbed.
Two young men - a Syrian and an Iraqi - are in custody, suspected of stabbing him.
German Chancellor Angela Merkel again condemned the far-right protests, in which several foreigners were chased and injured by violent participants. "Hate in the streets," she said, "has nothing to do with our constitutional state".
Chemnitz is in Saxony, a region where the far-right, anti-immigration Alternative for Germany (AfD) party and the Pegida movement are particularly strong. They deplore Mrs Merkel's liberal immigration policy.
Police said they had not anticipated such a rapid and large mobilisation of far-right supporters on the streets.
On Monday night there were 591 police officers confronting about 7,000 demonstrators, who had rallied via social media. At least 20 people were injured as fireworks and other objects were thrown.
Saxony Interior Minister Roland Wöller said far-right activists had quickly travelled to Chemnitz not only from other parts of eastern Germany but also from the western regions of Lower Saxony and North Rhine-Westphalia.
Read more on similar topics:
How did the trouble start?
The stabbing happened 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, died in hospital. He 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.
What did the government say?
"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."
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 AfD entered parliament - the Bundestag - for the first time, winning 12.6% of the vote and 94 seats.