You don't have to tell him, but it sounds to me like you will always feel guilty about it. If you tell him after you are married, he might feel trapped, like "it's too late now". You don't want him to feel that way. If you tell him now and he really is the right guy for you, he will understand and even be grateful that you told him beforehand. I have no idea when a good time to tell him will be, but when it feels right, just go for it. He needs to know, and if he is as perfect as you know he is, he will stay with you. Good luck.