Amsterdam aspires to become carbon neutral by 2050 and the ban on meat and fossil-fuel ads is part of that strategy, local politicians say.

The capital wants to persuade its inhabitants to eat less meat and to get 60 per cent of their protein from plant products by 2030.

“The climate crisis is very urgent,” Anneke Veenhoff, a city councillor from the GreenLeft Party, told the BBC. “I mean, if you want to be leading in climate policies and you rent out your walls to exactly the opposite, then what are you doing? Most people don’t understand why the municipality should make money out of renting our public space with something that we are actively having policies against.”

The new law applies to public spaces owned by the city, such as billboards, train and metro stations, tram stops and bus shelters.

Anke Bakker, from Party for the Animals, a political party that focuses on animal rights, dismissed suggestions that the ad ban infringes on people’s freedom of choice.

“Everybody can just make their own decisions, but actually, we are trying to get the big companies not to tell us all the time what we need to eat and buy. In a way, we’re giving people more freedom because they can make their own choice,” she said.

The prohibition has been criticised by industry groups. The ban on advertising flights is an unacceptable restriction on companies’ commercial freedom, according to the Dutch Association of Travel Agents and Tour Operators.

The Dutch Meat Association insisted that eating meat “delivers essential nutrients” and the advertising of meat products “should remain visible and accessible to consumers”.

JCDecaux, a large outdoor advertising company, had urged the city council to reject the new law, without success.