Consider sheaves of sets on a site. In the stacks project injective maps of sheaves are defined to be maps that are injective along each component and surjective maps are ones in which each section has a preimage if we allow lifting to a cover first. The stacks project then states without proof that injective and surjective correspond exactly to mono's and epi's in the category of sheaves.
It's easy to prove that injective and surjective imply mono and epi respectively. If I assume either that $\hom(-, U)$ is a sheaf or that a sheafification functor exists then I can prove that mono's are injective. I have two questions:
How do I prove epi implies surjection?
Unlike the stacks project I don't exclude large sites, so sheafification might not exist. If it doesn't and representable functors aren't necessarily sheaves can this characterization fail?