The 42-year-old took a test after developing symptoms and will now self-isolate for seven days, the Elysée Palace said in a statement.
Mr Macron "is still in charge" of running the country and will work remotely, said an official.
France this week imposed an overnight curfew to help deal with soaring cases there.
There have been two million confirmed cases in the country since the epidemic began, with more than 59,400 deaths, according to data from Johns Hopkins University.
"The President of the Republic has been diagnosed positive for Covid-19 today," the Elysée said on Thursday morning. The diagnosis was made following a "test performed at the onset of the first symptoms", the statement added.
It is not yet known how Mr Macron caught the virus but his office said it was identifying those he had been in close contact with.
Prime Minister Jean Castex, 55, is also self-isolating as he is considered a possible "contact case", officials said. He was due to introduce the government's Covid vaccination policy in the Senate on Thursday - now Health Minister Olivier Véran is doing it instead.
Mr Castex is not showing any symptoms, his office said.
The presidential statement did not mention whether Mr Macron's wife Brigitte, who is 67, had also tested positive.
Mr Macron is one of several world leaders who have contracted the respiratory disease. Most notably, US President Donald Trump tested positive in October, which led to him spending three days in hospital.
UK Prime Minister Boris Johnson also caught the virus and ended up in intensive care during the country's first wave in March.