Macron's security entourage quickly intervened to pull the man to the ground and move Macron away from him.
Two people were arrested in connection with the incident, broadcasters BFM TV and RMC radio reported.
French Prime Minister Jean Castex said the incident was an affront to democracy.
The incident took place while Macron was on a visit to the Drome region in southeastern France, where he met restaurateurs and students to talk about how life is returning to normal after the Covid-19 pandemic.
In video circulating on social media, Macron, dressed in shirt sleeves, could be seen walking towards a crowd of well-wishers who were behind a metal barrier.
Download the NBC News app for breaking news and politics
The French president reached out his hand to greet one man, in a green t-Shirt, with glasses and a face mask.
The man could be heard shouting out "Down with Macronia" ("A Bas La Macronie") and then he delivered a slap to Macron's face.
Two of Macron's security detail tackled the man, while another ushered Macron away. But Macron remained in the vicinity of the crowd for a few more seconds, and appeared to be talking to someone on the other side of the barriers.
The presidential administration said there had been an attempt to strike Macron, but declined further comment.
The identify of the man who slapped Macron, and his motives, were unclear.
While slapping the president, he could be heard shouting "Montjoie Saint Denis," which was the battle cry of the French armies when the country was still a monarchy.