Necessary and sufficient conditions are given for a Polish topological group to be ‘almost free’. It is deduced that the existence of one free subgroup of a Polish group can lead to the existence of many free subgroups of maximal rank. Applications are given to permutation groups, profinite groups, Lie groups and unitary groups.