De 100 meter vrije slag mannen op de Olympische Zomerspelen 2012 in Londen vond plaats op 31 juli, series en halve finales, en 1 augustus 2012, finale. Omdat het zwembad waarin de wedstrijd gehouden werd 50 meter lang is, bestond de race uit twee baantjes. Na afloop van de series kwalificeerden de zestien snelste zwemmers zich voor de halve finales, de snelste acht uit de halve finales gingen door naar de finale. Regerend olympisch kampioen was Alain Bernard uit Frankrijk.

Records 
Voorafgaand aan het toernooi waren dit het wereldrecord en het kampioenschapsrecord

Uitslagen

Series

Halve finales

Finale

Bronvermelding 
  Uitslagen

Mannen 0100