Thousands of people have protested in Paris and other French cities against a mandatory coronavirus health pass for entry to a wide array of public venues.

The pass is being introduced by the French government as it battles a fourth wave of infections.

Protesters injured three police officers in Paris, a police spokesperson said.

It was the third weekend in a row that people opposed to President Emmanuel Macron's new Covid-19 measures have taken to the streets.

"We're creating a segregated society and I think it is unbelievable to be doing this in the country of human rights," said Anne, a teacher who was demonstrating in Paris. She declined to give her last name.

"So I took to the streets; I have never protested before in my life. I think our freedom is in danger."

Visitors going to museums, cinemas or swimming pools are already denied entry if they cannot produce the health pass showing they have been vaccinated against Covid-19 or have had a recent negative test.

Parliament approved a new law this week that will make vaccinations mandatory for health workers and extend the health pass requirement to bars, restaurants, trade shows, trains and hospitals.

Police estimated some 13,500 people demonstrated on the streets of Paris, another police spokesperson said.

About 3,000 police officers were deployed in the capital, with anti-riot officers striving to keep demonstrators on authorised routes.

Authorities sought to avoid a repeat of events last week, when scuffles between police and demonstrators broke out on the Champs-Elysees.

Protesters were also out in other cities like Marseille, Lyon, Montpelier, Nantes and Toulouse, shouting "Freedom" and "No to the health pass".