We define the BPS invariants of Gopakumar-Vafa in the case of irreducible curve classes on Calabi-Yau 3-folds. The main tools are the theory of stable pairs in the derived category and Behrend's constructible function approach to the virtual class. We prove that for irreducible classes the stable pairs generating function satisfies the strong BPS rationality conjectures. We define the contribution of each curve to the BPS invariants. A curve $C$ only contributes to the BPS invariants in genera lying between the geometric genus and arithmetic genus of $C$. Complete formulae are derived for nonsingular and nodal curves. A discussion of primitive classes on K3 surfaces from the point of view of stable pairs is given in the Appendix via calculations of Kawai-Yoshioka. A proof of the Yau-Zaslow formula for rational curve counts is obtained. A connection is made to the Katz-Klemm-Vafa formula for BPS counts in all genera.