The controversial pass has sparked mass protests, with critics accusing President Emmanuel Macron of running a health "dictatorship".
France's top constitutional authority on Thursday approved a Covid
pass that limits access to cafes, restaurants and inter-city trains and planes to people who have been vaccinated or tested negative for the virus.
The controversial pass, which will become ubiquitous from Monday, has sparked mass protests, with critics accusing President Emmanuel Macron of running a health "dictatorship".
But the Constitutional Court said the restrictions voted by parliament last month represented a "balanced trade-off" between public health concerns and personal freedom.
The biggest change concerns restaurants which will now have to turn away patrons who fail to produce the health pass.
Visitors to some shopping centres and department stores will also need the pass, as will visitors to hospitals or care homes and people seeking non-urgent medical care.
But the absence of a health pass must not be an obstacle to patients receiving treatment, the court ruled.
Health workers and others whose job requires them to be in contact with people at risk of Covid
must now get vaccinated by law.
But the court rejected as "disproportionate" the government's wish to force people with Covid
infections into isolation for 10 days.
The court's judges also struck down another provision included in the health law that would allow employers to dismiss people on fixed-term or temporary contracts if they don't have a pass.
The court said this was unfair treatment as employees on open-ended contracts could not be sacked for the same reason.
Staff can, however, be suspended from work without pay if they lack a pass if the nature of their job demands it because, for instance, it brings them into contact with the public.
The health pass will come into force for young people between 12 and 17 only on September 30.
Protests against the health pass assembled around 200,000 people across France on Saturday, and organisers have called for more demonstrations this weekend.
According to a Montaigne opinion poll this week, 37 percent of French people sympathise with the demonstrations and 48 percent are against.
Some 60 percent approve mandatory vaccinations.
More than 8,000 people are currently being treated for Covid
in French hospitals, with nearly 1,400 in intensive care, the health authorities reported on Wednesday.
Just under 29,000 new cases were reported in the previous 24 hours.
Some 54 percent of the French population are now fully vaccinated.