In this work we introduce the notions of Peiffer product and Peiffer commutator of internal pre-crossed modules over a fixed object B, extending the corresponding classical notions to any semi-abelian category C. We prove that, under mild additional assumptions on C, crossed modules are characterized as those pre-crossed modules X whose Peiffer commutator X, X is trivial. Furthermore we provide suitable conditions on C (fulfilled by a large class of algebraic varietes, including among others groups, associative algebras, Lie and Leibniz algebras) under which the Peiffer product realizes the coproduct in the category of crossed modules over B.