As noted earlier, Macron has won.
66% - Emmanuel Macron - 20,703,694
34% - Marine Le Pen - 10,637,120
Blank votes - 4,066,801
Non-voters - 12,041,278
Looking at the vote patterns and listening to the analysts, its clear that a lot of the 4 million blank voters (roughly 3 million) were Le Pen voters who decided their candidate is too nutty to actually back.
It's likely nearly all of the 7.7M Le Pen voters from the first round, and the 1.7M Dupont-Aignan voters, voted for Le Pen in the second round. The additional 1.2M voters likely came from Fillon, while 5M of his voters went to Macron, and 1M cast blank ballots. It is my guess that 2M Melenchon voters stayed home, 2M cast blank ballots, and 3M voted for Macron. Roughly, of course.
Interestingly, had the number of blank ballots remained at 1M, and not increased to 4M (and had the 3M cast their ballots for Le Pen) the results would have been 61%-39%, which was widely expected.
(votes in millions)
9.0 Abstain (stayed home)
5.5 Le Pen (sr)
14.6 Giscard d'Estaing
13.4 Giscard d'Estaing
13.1 de Gaulle