Fain \fain\ as a boy's name is a variant of Faine (Old English), and the meaning of Fain is "happy, joyous".
The baby name Fain sounds like Fin and Wain. Other similar baby names are Bain, Cain, Kain, Dain, Fagin, Farin, Flin, Iain, Pain, Rain and Zain.