Rioters looted shops in central Frankfurt late on Saturday as clashes erupted across several German cities during protests over the cost of living.
Besides Frankfurt, Germany's financial hub, there were incidents of violence in Berlin, Cologne and Hamburg. Police said they used water cannon to disperse protesters who targeted emergency workers with fireworks, stones and bottles.
Thousands had joined largely peaceful demonstrations earlier in the day across 34 cities. The protests were organised by the campaign group Gen Z regelt, meaning "Gen Z takes charge," to protest against underfunding in schools, the high cost of living, public spending cuts and compulsory military service amid rising military spending.
Authorities in Frankfurt, Munich and Berlin reported as many as 18,000 protesters, roughly half of what the organisers had estimated. German media reported tens of thousands took part in demonstrations across the country on Saturday.
Gen Z regelt spokesperson Lina Friedrich said the demonstrations were "to fight for peace and freedom, rather than for war and coercion."
She added: "What matters most to us is better support for the health and education systems. We are against compulsory military service and we are in favour of a fairer distribution of the burden."
As night fell, demonstrations turned violent. Frankfurt police declared that "violent riots" were occurring in the city centre and that special police units had been deployed.
The windows of several shops were smashed and molotov cocktails were thrown at emergency services, police said. A large section of Frankfurt's main shopping street was closed off. A police spokesperson confirmed that many arrests were made in the city.
Officials said the windows of a gun shop were smashed and that two weapons were seized after a suspect was arrested. People also broke into other shops, stealing trainers and other items, according to local media.
Roman Poseck, interior minister of Hesse state, of which Frankfurt is the largest city, said that "around 100 clearly identified left-wing extremists" had infiltrated the protest. He described the way the protests had ended as "shameful."
Poseck said: "We all have those images from France in our minds - looting, burning houses, burning police vehicles, and attacks on police officers... France must not be held up as a model in this regard."
Police said the situation calmed down overnight into Sunday.
The unrest in Germany came on the same day as large-scale demonstrations across Europe. In France, more than 320,000 people took part in a third consecutive weekend of largely peaceful protests, demanding action on the high cost of living and poor public services, particularly in the education sector.
Thousands of police officers were deployed across France. Officers fired tear gas at demonstrators in some cities, and there were more than 500 arrests after clashes in Toulouse, Lyon and Marseille.
French Interior Minister Laurent Nuñez said a police officer had been injured by a molotov cocktail. Police in Paris said several hundred rioters had attacked security forces with projectiles.
Protests also took place in Italy, with clashes between police and demonstrators reported in Rome and Turin.
In Portugal, police moved to clear a new tent camp assembled after thousands marched to protest against a rental bill that demonstrators argue could worsen a housing crisis in the country, where house prices have more than doubled over the past decade.
Mostly young protesters have recently taken to the streets across a broad range of European nations, including France, Belgium, Ireland, Spain, Portugal, Italy, Greece, Serbia and Albania. While specific demands vary by country, protesters have largely focused on cost-of-living issues such as access to housing, the quality of education and cuts to public services.