The man, named as Damien T., has been in custody since the incident on Tuesday and is expected to be convicted of assaulting a public figure when he appears before a magistrate in the southern town of Valence.
Risks up to three years in jail when he appears in court for the first time on Thursday, having told investigators he acted “without thinking”.
The charge carries a maximum three-year jail sentence and a fine of 45,000 euros ($55,000), although the court will take into account the defendant’s clean criminal record and any expression of remorse.
“He contends that he acted instinctively and ‘without thinking’ to express his annoyance,” a statement from the local prosecutor’s office said late on Wednesday.
Damien T., described by friends as usually shy and placid, also told investigators that he sympathised with anti-government “yellow vest” protesters and leaned to the right/far-right in his political views, but had no party affiliation.
The long-haired resident of the village of Saint-Villier, who has no fixed profession, is passionate about medieval history and martial arts and shouted an old royalist slogan as he struck the president.
His friend, named as Arthur C., was arrested at the same time on Tuesday having filmed the slap, but will not be charged over the incident, the prosecutor said.
Macron shrugged off the assault, calling it an “isolated event”, and he has vowed to continue meeting voters despite concerns for his personal security.
Leaders across the political spectrum have shown rare unity in condemning the incident, with many seeing it as a symptom of the fraught political climate and declining public debate just weeks from regional elections and 10 months from presidential polls.
Macron, 43, whose personal ratings have risen recently, is expected to seek a second term next year.
Polls show him holding a narrow lead over his main rival, far-right leader Marine Le Pen.