  We show how to efficiently count and generate uniformly at random finitely
generated subgroups of the modular group $\textsf{PSL}(2,\mathbb{Z})$ of a
given isomorphism type. The method to achieve these results relies on a natural
map of independent interest, which associates with any finitely generated
subgroup of $\textsf{PSL}(2,\mathbb{Z})$ a graph which we call its silhouette,
and which can be interpreted as a conjugacy class of free finite index
subgroups of $\textsf{PSL}(2,\mathbb{Z})$.
