Mr Macron made the comments about Marshal Philippe Petain on a stop in the northern town of Charleville-Mezieres as part of his six-day tour of battlefields to mark the centenary of the end of World War I.
"Marshal Petain was also a great soldier during World War I" even though he made "fatal choices during the Second World War", Mr Macron said.
"My role isn't to understand that it's shocking or to comment about people. My role is to try to explain, be firm in my convictions, face our history," he added.
Petain led the French army to victory in Verdun in 1916, but gained infamy and a conviction for treason for his actions as leader of Vichy France from 1940 to 1944.
The unusual presidential praise was criticised by France's leading Jewish group, known by the initials CRIF.
"I am shocked by this statement by Macron," CRIF president Francis Kalifat told the Associated Press.
"Petain was the person who allowed the deportation of 76,000 French Jews to death camps," he added.
"Petain signed the (law on) the status of Jews that meant Jews were excluded from public function, education and forced to wear the Jewish star."
Mr Kalifat said it was "an insult" that a French president could honour Petain on "the same level as the other generals".
But he acknowledged the marshal's pivotal role in the Great War that earned him the nickname "Lion of Verdun".
French government spokesperson Benjamin Griveaux played down the issue as a "false controversy".
Join our new commenting forum
Join thought-provoking conversations, follow other Independent readers and see their replies