  We consider the natural problem of counting isotopy classes of essential
surfaces in 3-manifolds, focusing on closed essential surfaces in a broad class
of hyperbolic 3-manifolds. Our main result is that the count of (possibly
disconnected) essential surfaces in terms of their Euler characteristic always
has a short generating function and hence has quasi-polynomial behavior. This
gives remarkably concise formulae for the number of such surfaces, as well as
detailed asymptotics. We give algorithms that allow us to compute these
generating functions and the underlying surfaces, and apply these to almost
60,000 manifolds, providing a wealth of data about them. We use this data to
explore the delicate question of counting only connected essential surfaces and
propose some conjectures. Our methods involve normal and almost normal
surfaces, especially the work of Tollefson and Oertel, combined with techniques
pioneered by Ehrhart for counting lattice points in polyhedra with rational
vertices. We also introduce a new way of testing if a normal surface in an
ideal triangulation is essential that avoids cutting the manifold open along
the surface; rather, we use almost normal surfaces in the original
triangulation.
