A copresheaf, or covariant presheaf, on a category$\mathcal{C}$ is a presheaf on the opposite category$C^{op}$. As with presheaves, it is understood by default that they take values in Set, but one may consider copresheaves with values in any category$\mathcal{D}$.

This is a concept with an attitude: a copresheaf on $\mathcal{C}$ is just a functor$\mathcal{C} \to \mathcal{D}$ (typically: $\mathcal{C} \to Set$, but one may speak of functors as copresheaves if eventually one wants to impose a gluing condition on them and pass to cosheaves.

Accordingly, the category of copresheaves on $\mathcal{C}$ (and with values in $\mathcal{D}$) is just the functor category$Func(\mathcal{C},\, \mathcal{D})$, whose morphisms are the natural transformations.

For $\mathcal{D} = Set$, the opposite of the category of copresheaves on $\mathcal{C}$ may be understood as the free completion of $\mathcal{C}$.