Saturday 31 October 2026
France arrests pass 560 as a gendarme is set alight in Paris, and the night turns violent in Germany, where Frankfurt rioters loot shops and take weapons from a gun store
France's third protest Saturday ended the way the first two did, only smaller in the streets and harder at the edges. The Interior Ministry counted 320,000 protesters nationwide and reported more than 560 arrests by Saturday night, as of October 31. Interior Minister Laurent Nunez called the throwing of a Molotov cocktail at a Paris gendarme, who was burned on the leg, an attempted murder, and blamed far left extremist groups for extraordinary violence. In Germany, where the Gen Z regelt movement marched in more than 30 cities, Frankfurt rioters smashed storefronts, looted shops, stole weapons from a gun store that police later recovered, and threw Molotov cocktails at officers.
The marches themselves passed off calmly in both countries, and in both countries the night belonged to a smaller and harder crowd. In France, 320,000 people protested nationwide on Saturday by the Interior Ministry's count, down from 410,000 on October 24 and 550,000 on October 17, while the organisers claimed close to 500,000. Seventy thousand police and gendarmes were on the street. By Saturday night the ministry counted more than 560 arrests, as of October 31.
The worst single act of the French night was in Paris. The national Gendarmerie said one of its officers was struck in the leg by a Molotov cocktail and burned, and photographs from the march's end at Porte de Charenton showed a gendarme running with his uniform alight. Nunez described the attack as attempted murder and accused far left extremist groups of using extraordinary violence against the security forces. He said the marches went well and ran their course before the clashes began. The ministry said groups tried to push into the centres of Bordeaux, Toulouse, Marseille and other cities to vandalise and loot, and police fired tear gas in Paris, Lyon and Marseille. Central Paris districts went under curfew from 11 p.m. to 6 a.m. to prevent a repeat of the looting of October 17.
Germany's day started as the peaceful version of the same movement. Gen Z regelt, a youth alliance formed only weeks ago, rallied in more than 30 cities for education, health, climate protection and an affordable life, and against any return of military conscription. Organisers claimed about 120,000 people took part nationwide. Police counts were far lower, about 4,500 in Berlin by the evening count. After dark the German night caught up with the French one. In downtown Frankfurt, rioters smashed several storefronts and stole goods from inside, broke into a gun store and stole weapons that police later retrieved, and threw Molotov cocktails at officers after pelting them with stones and bottles, Frankfurt police said. Several Frankfurt officers were injured. Hesse's interior minister, Roman Poseck, said everyone in Germany carries the images from France in their minds: looting, burning houses, burning police vehicles, attacks on police officers. In Cologne, police used water cannon against crowds trying to reach the city centre. In Hamburg, barricades were set on fire. Police in Stuttgart reported fireworks fired at officers and officers injured there as well.
The pattern across the two countries is now three weekends old in France and one day old in Germany, and the shape of it is consistent. A large, young and mostly peaceful march carries a grievance about the cost of living that governments have not answered, and a fringe a few hundred strong waits for dark and fights the police at the end of it. Portugal held the peaceful version on Saturday, where thousands rallied in Lisbon over housing costs without serious incident, and Dutch police in The Hague turned out in force against rumours of rioting that did not come. What France's government faces on November 5, when the unions have called further action, Germany's cities may now face as well.
Spotted an error in this story? Email [email protected] and it will be checked against the sources.