Suppose we have some kind of algebraic object that we want to parametrize (say, curves or vector spaces). A moduli functor is a contravariant functor  which sends a scheme  to the set of isomorphism classes of families of these objects parametrized by  (e.g. families of curves over ). A morphism  of schemes is sent to the set map induced by pulling back families via .

A fine moduli space is a scheme  representing this functor. That is to say, there is a universal family over  and, for every family of objects over a scheme , there is a unique map  which induces it by pulling back the universal family. This is usually impossible (for example, when there are extra automorphisms for some objects). If we are willing to enlarge the category in which we work, we can sometimes obtain a fine moduli space by working with stacks instead of schemes. Otherwise, the coarse moduli space is the scheme which best approximates the fine moduli space. By this, we mean that given a family of objects over a parameter space , there will be a unique map from  to the coarse space , and  is “universal” with respect to this property, which is to say that if there is also  with this property, then the map  factors uniquely as . Note that not every map to the coarse moduli space  gives rise to a family. In particular there may not be a universal family of objects over  itself.

Another requirement for a coarse moduli space is that its points should be in bijection with the objects being parametrized. I.e. algebraically-closed-field-valued points should be in bijection with the objects defined over that algebraically closed field.