Difference between being faithful and being injective on arrows

A functor that is injective on morphisms is automatically faithful, of course; but by thinking about identity morphisms, one sees that a functor that is injective on morphisms must also be injective on objects.

Exercise. Show that a functor is injective on morphisms if and only if it is injective on objects and faithful.

Once you have proved the claim, you will find many examples. For instance, if $\mathcal{P}$ is a poset considered as a category, then the unique functor $\mathcal{P} \to \mathbb{1}$ is always faithful, hence injective on morphisms if and only if it is injective on objects.


Let's remind ourselves about the definition of a faithful functor: Any functor $$ \mathcal{F} \colon \mathcal{C} \rightarrow \mathcal{D}$$ induces a map on hom-sets $$\mathcal{F}_{X,Y} \colon \mathrm{Hom}_\mathcal{C}(X,Y) \rightarrow \mathrm{Hom}_\mathcal{D}(\mathcal{F}(X),\mathcal{F}(Y))$$ for every pair of objects $X,Y$ in $\mathcal{C}$. Then $\mathcal{F}$ is called faithful if the induced maps $\mathcal{F}_{X,Y}$ are injective for all objects $X,Y$ in $\mathcal{C}$.

The crucial thing to observe is that we are quantifying over objects in the source category $\mathcal{C}$ --- this is what makes the difference between a faithful functor and one injective on morphisms. For instance consider the four-object category $\mathcal{C}$ with $\mathrm{Obj}(\mathcal{C})=\{A,B,C,D\}$ and morphisms given by $$ \mathrm{Hom}(A,B) = \{f_i\}_{i\in\mathbb{Z}}, \\ \mathrm{Hom}(C,D) = \{g_i\}_{i\in\mathbb{Z}}$$ (and for simplicity say the other hom-sets are empty, except for the identity morphisms on each object). If we have another category $\mathcal{D}$ consisting of two objects $P,Q$ and morphisms $$ \mathrm{Hom}(P,Q) = \{h_i\}_{i\in\mathbb{Z}}$$ then the functor $ \mathcal{F} \colon \mathcal{C} \rightarrow \mathcal{D}$ sending $$ A \mapsto P, \\ B \mapsto Q, \\ C \mapsto P, \\ D \mapsto Q $$ and $$ f_i \mapsto h_i, \\ g_i \mapsto h_i$$ (and identity morphisms to identity morphisms, etc.) is faithful, since restricting to every pair of objects $X,Y$ in $\mathcal{C}$ gives an injective map on $\mathrm{Hom}(X,Y)$. On the other hand $\mathcal{F}$ is neither injective on objects or morphisms.

I wanted to emphasize the fact that quantifying over objects in the source category is the important bit: if we required a faithful functor to be injective on the hom-sets between every pair of objects in the target category we would indeed just end up with a functor injective on morphisms.