The measure - from 21:00 to 06:00 - will come into effect from Saturday and last for at least four weeks, Mr Macron said in a televised interview.
"We have to act. We need to put a brake on the spread of the virus," he said.
A public health emergency has also been declared. A further 22,951 cases of Covid-19 were confirmed on Wednesday.
Now was not the time for "conviviality", Mr Macron explained, saying that the virus is spreading at parties and "festive evenings".
Across Europe, governments are introducing new restrictions to battle a second wave of infections.
A partial lockdown has come into force in the Netherlands and cafes and restaurants are closing.
Earlier, Spain's north-eastern region of Catalonia said bars and restaurants would close for 15 days from Thursday.
The Czech Republic has shut schools and bars. It has the highest rate of infection in Europe over the past two weeks, at 581.3 cases per 100,000 people.
The Irish government announced a ban on household visits from Thursday night, but childcare and visits on compassionate grounds will still be allowed.