My boyfriend feels ugly

and it breaks my heart. He is an amazing soul. He's funny. He's sweet and playful. He's smart. He has great values and ethics. He is a great friend. He always tries his best. He's also very handsome, he has a great beard, amazing blue eyes, soft and warm hands, a cute butt, a nice chest... He's a great lover, a great friend, a great partner all around.

And despite all this, which I tell him as often as I can... he sees himself as an ugly, fat, idiot. He hates himself. So much. Yesterday for the first time in the 3 years we've been together he broke down crying in my arms telling me "I hate myself" over and over.

So what he has belly fat? When I look at him I just want to rip off my clothes. So what he can't concentrate on complex tasks because of his adhd? He's still the one I want to talk to about politics and philosophy because his insights are so well thought out and intelligent.

He only sees what he perceives as shortcomings. He doesn't understand what I'm doing with him and is terrified of loosing me "when someone better comes along". I've known him for ten years and even when we were just friends, I knew he would be in my life forever. I wish I knew how to reassure him... I wish he could see himself through my eyes... through my heart...