need help :( abusive boyfriend and i don’t know how to leave

hi ladies, i just need some help.

i have been with my boyfriend for a little over a year now. in the past seven months or so he’s totally changed.

btw this is my first relationship. and we’re three years apart (19 and 22)

he throws insults at me everyday. he called me an idiot, stupid, retarded. he’ll call me a whore and a slut. he’ll call me unless and annoying.

he told me doesn’t love me. and that the only thing i’m good for is sex.

he tells me he doesn’t care about my feelings and will entirely stop talking to me when i try to talk about them.

has passwords to all my accounts where he logs in when he wants, reads my conversations, and talks to people pretending to be me. he tells me who i can and can’t talk to. tells me what to do.

he’s showed my sensitive pictures to his friends, and posted them somewhere online.

he always gets really angry at me. and threatens me. a lot.

he’s just changed so suddenly. he used to be the best out there, more than my boyfriend, but my best friend. i know he’s bad, but i love him too much.

and, he’s sacrificed a lot for me. he moved just so we could stay together. and he’ll always forgive me when i’m rude towards him. and sometimes he acts like the guy i first fell in love with.

anyways, i feel stuck. a part of me doesn’t want to leave. and he’s kind of controlling me to stay. i don’t know what to do. any advice? thanks :/