The best placard in Berlin on Saturday did not mention Macron, Merz or capitalism. It read: "Flunked the PISA test but passed the military medical."

That is a good joke, and it is also a decent summary of how a lot of young Europeans feel. Schools are crumbling, rents are absurd, and the only thing the state seems in a hurry to give them is a questionnaire from the army. So they went out. About 320,000 marched in France on the third Saturday in a row, by the interior ministry's count; student unions said half a million. In Germany a new movement called "Gen Z regelt" ("Gen Z will sort this") put tens of thousands on the streets of more than 30 cities, according to ARD. Italy had its general strike on Friday.

Most of them were peaceful, and plenty were funny. One protester in Lyon came as Marie Antoinette with a sign reading "Give them brioche".

Then night fell. In Paris a hard core of masked rioters prised up paving stones at the end of the march, and a police officer was hit by a molotov cocktail, which interior minister Laurent Nuñez called "attempted murder". France made 511 arrests. In Frankfurt police broke up a march after what Hesse's interior minister called massive attacks by around 100 people, and stores were looted. In Cologne it took water cannon. The German organisers said they had "no influence" over what happened after their rallies ended. Fair enough. But the street has a way of being taken over by whoever is angriest.

Right about the robbery

Here is the part the right should say out loud: the young have a point. They are getting a bad deal, and it is not their imagination.

Where they go wrong is the name they give it. "We are fed up with the doctrine of austerity," one Paris marcher told ARD. Austerity? The French state spent 57% of the country's entire output in 2024, according to Eurostat. Only Finland spent more. The EU average was 49%. France has not balanced a budget since 1974, so no one under the age of 50 has ever lived through a French surplus. Fitch, which cut France's outlook to negative on Friday, expects public debt to climb from about 116% of GDP towards 124% by 2028.

That is not a country starving its public services. It is a country spending enormous sums on something else. The Banque de France has worked out what. French social protection costs 32% of GDP against 27% in the eurozone, and the biggest single piece of that gap is pensions.

So the money is there. It just goes to a different generation.

The vote nobody marched against

Germany is even clearer. On 5 December last year the Bundestag passed two laws on the same afternoon. One locked the state pension at 48% of average earnings until 2031 and, critics in Merz's own party said, kept it higher after that too. The other brought back compulsory military screening for whole year groups of young men.

Read that again. Guaranteed money for those already retired. Compulsory medicals for 18-year-olds. Same day, same parliament.

The only serious revolt against the pension law did not come from the left groups that turned up with flares on Saturday. It came from 18 young MPs in Merz's own CDU/CSU, the so-called Junge Gruppe. They calculated that the extension beyond 2031 would cost more than €115bn between 2032 and 2040, and their leader, Pascal Reddig, called it "the most expensive social law of this century". The coalition leaned on them hard. In the end six voted no and two abstained. The law passed with two votes to spare over the chancellor's majority.

Gen Z regelt wants more money for schools, therapy and housing, and no conscription. Some of that is reasonable. But the demands ARD listed say nothing about pensions. The biggest transfer between generations in Germany is missing from the manifesto of a movement named after a generation.

Brussels named its debt after them

The EU has its own version of this joke. In 2020 it borrowed for the pandemic recovery fund, around €800bn in today's money, by far the biggest joint borrowing in its history. It called the programme NextGenerationEU.

The name was more honest than intended. According to the Commission's own figures, repayment starts in 2028 and runs until 2058. An 18-year-old who marched in Berlin on Saturday will be about 50 when the last euro is paid back. The Commission already wants €24bn a year in the next budget just to pay it down, money that will not be spent on anything else.

And Brussels keeps reaching for the same tool. When the money runs short, for defence, for Ukraine, for whatever comes next, the answer is more joint borrowing. Every time it is sold as solidarity. Every time the bill is post-dated to people who cannot vote yet.

Follow the money

None of this excuses a molotov cocktail. Nuñez is right to come down hard on the night-time rioters, and the German organisers were right to keep their distance. In the Berlin crowd Euronews found Antifa banners and a newspaper that Germany's domestic intelligence service classifies as far-left extremist handing out copies. A youth movement that lets those people do its talking will lose the public in about two weekends.

But dismissing the whole thing as "the far left again" would be lazy, and conservatives have done it before. In France and Germany the young are paying more for housing and being asked to defend a continent whose budgets have been written for their grandparents. That is a conservative argument, not a socialist one. It is about thrift, about not handing your children your debts, about not promising what you cannot pay.

The trouble is the cure on offer. More state spending financed by more borrowing is not a revolt against the system. It is the system. It is exactly how the bill got this big.

If Gen Z really wants to sort it out, the slogan is simple: stop borrowing in our name. The young are right that they are being robbed. Before the next march, they should check whose name is on the cheque.