Chancellor Angela Merkel said the country's parliament would also consider making coronavirus vaccines mandatory, a ruling which could come into force in February 2022 if approved.
Germany has recorded more than 70,000 new coronavirus cases in the last 24-hour reporting period.
Listen to Coronavirus: What You Need to Know, the Covid-19 podcast from ITV News
Speaking after a meeting with federal and state leaders, Ms Merkel said the measures were necessary in light of concerns that hospitals in Germany could become overloaded with people suffering Covid-19 infections, which are more likely to be serious in those who have not been vaccinated.
“The situation is our country is serious,” Ms Merkel told reporters in Berlin, calling the measure an “act of national solidarity.”
Officials also agreed to require masks in schools, impose new limits on private meetings and aim for 30 million vaccinations by the end of the year.
About 68.7% of the population in Germany is fully vaccinated, far below the minimum of 75% the government is aiming for.
Finance Minister Olaf Scholz, who is expected to be elected chancellor by a center-left coalition next week, said earlier this week that he backs mandatory Covid vaccines, but favors letting lawmakers vote according to their personal conscience rather than party lines on the matter.
The rise in Covid cases over the past several weeks and the arrival of the new Omicron variant have prompted warnings from scientists and doctors that medical services in the country could become overstretched in the coming weeks unless drastic action is taken.
Some hospitals in the south and east of the country have already transferred patients to other parts of Germany because of a shortage of intensive care beds.
Agreeing what measures to take has been complicated by Germany’s political structure — with the 16 states responsible for many of the regulations — and the ongoing transition at the federal level.
Germany’s disease control agency reported 73,209 newly confirmed cases Thursday.
The Robert Koch Institute also reported 388 new deaths from Covid, taking the total since the start of the pandemic to 102,178.
In Austria, the government in November ordered all unvaccinated people in the country to lockdown amid rising Covid infections and deaths. Anyone over 12-years-old who hadn't had the jab was told they would have to remain at home, except for basic activities like working, shopping, going for a walk - or getting vaccinated.