Any subgroup of a free group is free.
This result is quite interesting, because the statement is purely algebraic yet the simplest proof is topological. Namely, any free group G may be realized as the fundamental group of a graph X.
The main theorem on covering spaces tells us that every subgroup H of G is the fundamental group of some covering space Y of X; but every such Y is again a graph. Therefore its fundamental group H is free.
Any free group may be realized as the fundamental group of a graph X. Let G be the free group on n generators. By the Seifert-van Kampen theorem, G is the fundamental group of the graph G’ consisting of a single vertex v and n loops incident with v (i.e. the bouquet of n circles.) Note that any connected graph may be realized as a bouquet, by taking the quotient by a spanning tree.
The main theorem on covering spaces