Forgiveness is clearly an important aspect of our moral lives, yet surprisingly Kant, one of the most important authors in the history of Western ethics, seems to have very little to say about it. Some authors explain this omission by noting that forgiveness sits uncomfortably in Kant’s moral thought: forgiveness seems to have an ineluctably ‘elective’ aspect which makes it to a certain extent arbitrary; thus it stands in tension with Kant’s claim that agents are autonomous beings, capable of determining their own moral status through rational reflection and choice. Other authors recognise that forgiveness plays a role in Kant’s philosophy but fail to appreciate the nature of this duty and misrepresent the Kantian argument in support of it. This paper argues that there is space in Kant’s philosophy for a genuine theory of forgiveness and hopes to lay the grounds for a correct interpretation of this theory. I argue that from a Kantian perspective, forgiveness is not ‘elective’ but, at least in some cases, morally required. I claim that, for Kant, we have an imperfect duty of virtue to forgive repentant wrongdoers that have embarked on a project of self-reflection and self-reform. I develop a novel argument in support of this duty by drawing on Kant’s theory of rational agency, the thesis of radical evil, Kant’s theory of moral development, and the formula of humanity. However, it must be noted that this is a conditional duty and Kant’s position also entails that absence of repentance on the part of the wrongdoer should be taken as evidence of a lack of commitment to a project of self-reflection and self-reform. In such cases, Kant claims, we have a perfect duty to ourselves not to forgive unrepentant wrongdoers. I argue that this duty should be understood as one of the duties of self-esteem, which involves the duty to respect and recognise our own dignity as rational beings.