We present a model of altruistically-minded—yet rational—players contributing to a public good. A key feature is the tension between altruism and crowding-out effects. We present three main results: (1) More altruistic behaviour often reduces social welfare; (2) It is almost always optimal for a player to act more selfishly than her true preference; (3) A player’s optimal altruistic commitment is often low or zero—even with strongly altruistic preferences. Applications to a range of public good problems, including climate policy, are discussed. Our results highlight that it will generally be difficult to infer social preferences from observed behaviour.