top of page

My Top Twenty Favorite Movie Villains of All Time

The best of the worst.

It's about that time! Every year, I do a ranking of my favorite villains and heroes. This year, we are kicking it off with the villains. I've watched some great movies in the past year, so this list is a little different than it was last year. There are some more horror and thriller villains on here that I really grew to love. That said, here are my twenty favorite movie villains of all time.


20. Norman Bates (Psycho): New

One of the first major horror movie villains ever, Norman Bates set the standard for years of terrifying slashers. Played to absolute perfection by an insanely creepy Anthony Perkins, Norman is the perfect blend of charm, mystery, and horror by the end. He's written to be a likable but weird character that has these bursts of nastiness and discomfort all foreshadowing his true nature. He is the best part of Psycho. Easily.


19. Loki Laufeyson (MCU): -10

While I still love the MCU, the recent entries have kind of worn me out. Some of the magic is gone, so my love of some of the characters isn't as strong. Loki is still a great character, but at this point, he's more of a hero than a villain. His original redemptive arc is still fantastic. I love that he was true evil and eventually realized that that wasn't the path that he wanted to take, so he became more anti-heroic. I think he should've stayed dead after Infinity War, but I still love this character.


18. Green Goblin (Spider-Man): -7

Green Goblin is so much fun. Willem Dafoe's insane performance in the original Spider-Man is the highlight of that entire trilogy. I love how he just goes from completely normal to absolutely insane in the blink of an eye. His return in No Way Home was also fantastic. A grounded, scarier version of his original character solidified him as one of my favorite villains ever.


17. Terence Fletcher (Whiplash): New

I love J.K. Simmons, and this is, by far, his best performance. I think Whiplash is kind of a weird movie, but Terence Fletcher is an absolutely incredible antagonist. On a list that includes Michael Myers and Darth Vader, it's a little weird that a jazz drumming instructor made it onto this list, but that's how menacing of a villain he is. He feels like he could be real. Every single time he screams or says something horrible to his students, you feel it. There's an element of true psychological torture that makes him one of Hollywood's most overlooked and terrifying villains.


16. Freddy Krueger (A Nightmare on Elm Street): New

Of the major horror villains, Freddy Krueger is one of the best and most creative. The idea of someone killing you in your dreams is terrifying enough. Combine that with a burned face, dirty sweater, worn-out fedora, and finger-knife glove, and you've got one of the most recognizable nightmares ever to grace the silver screen. Robert Englund's wise-cracking killer is so much fun while also being so scary at the same time. He's fantastic.


15. Tommy DeVito (Goodfellas): New

Goodfellas is chock-full of great characters, all of whom are villains, but the best of them is Joe Pesci's Tommy DeVito. Tommy is a complete psychopath. He is completely selfish. He thinks he's the best. And he's incredibly insecure about himself, so anytime anyone says something he doesn't like, he snaps. Pesci's intense and engaging performance elevate this character to one of the most memorable, fun, and thrilling villains of all time.


14. Tyler Durden (Fight Club): +2

Fight Club is an energetic, masculine film that is filled with so much insanity. At the heart of that is Tyler Durden, who is kind of a protagonist while definitely being the main villain. Brad Pitt gives what is arguably one of his best performances here with this super fun, testosterone-fueled character. He's so charming and so fun while also being purely insane and dangerous. He's great.


13. Emperor Palpatine (Star Wars): -7

The puppet master behind the entire Skywalker Saga, Emperor Sheev Palpatine (yes, his first name is Sheev) is one of the first ever major franchise villains. Sure, Darth Vader is the most popular Star Wars villain, but Palpatine is the mastermind behind the whole thing. There's something about that that's just awesome. He is the personification of evil. He is the Sith. He's so smart, so conniving, and so, so cool.


12. Annie Wilkes (Misery): New

I think I've used the phrase "pure insanity" multiple times, but nowhere has it been more applicable than here. Annie Wilkes is nuts. What elevates her past Norman Bates or Green Goblin is the moments of sympathy that you have for her. Kathy Bates gives a very nuanced performance that has all the terror and craziness of the character, but she layers in this very sad, upsetting element to Annie that makes her a better character. I love how Annie is so polite while also being such a psychopath. She's such a fantastic character, and she makes Misery one of my favorite movies.


11. Daniel Plainview (There Will Be Blood): -1

Daniel Plainview is another one of these protagonist villains. Daniel Day-Lewis gives what I believe to be the greatest performance of all time as this character. The rise-and-fall story of this character is so compelling. You see all the pieces as they are set in place for Daniel to go completely insane. This all pays off in the end as he is completely lonely and has become a raging drunk and eventually succumbs to his dark side. It's a great arc that is just taken to another level by an all-time performance from Day-Lewis.


10. Max Cady (Cape Fear): New

Robert De Niro is a charming actor that is well-known for his roles as likable gangsters and fun New York personalities. Who knew he could be absolutely terrifying? Max Cady is a smiling, polite psychopath that is as close to a horror villain as a thriller villain can get. He's so intelligent and is five steps ahead of everyone else in this movie, which just makes him scarier. There's nothing more threatening than someone motivated by pure hatred, and that's what this character is. If you haven't seen Cape Fear, I highly recommend it. De Niro's villain is worth watching alone.


9. Li'l Zé (City of God): New

City of God is one of the most overlooked films ever. I genuinely believe that this is one of the greatest movies ever made, and I also believe that Li'l Z (as referred to in English) is one of the best villains ever made. This character almost feels like a more developed, more sympathetic version of Tommy DeVito. He's incredibly insecure, and that insecurity comes out in the form of taking all of this built-up anger out as a gang leader. Unlike Tommy, though, he cares about his friends and actually feels terrible when bad things happen. He just doesn't take responsibility for the bad things he causes and just hunts down anyone who wrongs him. Just like Cape Fear, I recommend City of God with flying colors. Watch this movie. It's incredible. Li'l Z is, like Max Cady, worth the watch alone.


8. Hans Gruber (Die Hard): Same

Before he was Severus Snape, Alan Rickman perfected the action movie villain with Hans Gruber. Possibly the smartest character on this list, Gruber has this elaborate terrorist plan that is slowly and frustratingly foiled by John McClane. He can be so charming and so likable while doing such evil and horrible things. I love his calm demeanor and the way with which he goes about his business. Rickman's drawling performance makes him all the more memorable. Great villain for a great movie.


7. Lord Voldemort (Harry Potter): +6

Voldemort is fantastic. Harry Potter is one of my favorite media franchises, and the movies do his novel counterpart complete justice. It's easy to forget how much you actually hate this character because of how evil he truly is. He is a complete power-hungry sociopath who thinks his way is the only way. The slit nose and pale face just add an apparition-like element to this character that I absolutely adore. He's one of the most iconic villains in pop culture for a reason.


6. Patrick Bateman (American Psycho): +1

Patrick Bateman is the greatest protagonist villain of all time. Christian Bale's nutso performance as this overly narcissistic businessman who is secretly a serial killer is just fantastic. I love how he hates everything around him but also notes his surroundings in a very thoughtful, meaningful manner. Whenever he goes nuts, he goes absolutely nuts, and it is so much fun to watch. He's a fantastic character played by a fantastic actor. I love him.


5. Hannibal Lecter (The Silence of the Lambs): Same

That creepy close-up is all you need to understand the entirety of this character. Hannibal Lecter is an incredibly disturbing villain...that is kind of in a protagonist role. He's so creepy and so unsettling, yet you really like him. He's polite. He's kind of nice to Clarice. And all the while, he has this unstable look in his eye that lets you know how crazy he actually is. The mind games he plays with Clarice translate to the audience. He gets in your head and plays around with your mind. He's so disturbing, so creepy, and so much fun.


4. Thanos (MCU): -1

Like I said earlier, my MCU high is slowly fading. However, that does not take away from Thanos. This character is a megalomaniac, sociopath...all the bad mental issues that you can assign to a villain. Yet he's also compelling. He's sympathetic. You understand why he wants to destroy half of all life. His twisted view of the world comes from a broken, sad place. He is willing to sacrifice his daughter, who he clearly loves, to accomplish this goal. That is a compelling villain. He's awesome. No MCU villain will ever top him.


3. Michael Myers (Halloween): +1

When I was eight, I saw the Michael Myers mask for the first time. I didn't sleep for two days. This character has stuck with me for half of my life, and only since I've gained a love for horror movies have I appreciated how fantastic of a slasher villain Michael is. This blank, emotionless killing machine has haunted audiences for forty years and continues to terrify even now. The mask. The music. The mysterious backstory. All of it makes for one of the scariest villains in Hollywood and my personal favorite horror villain.


2. The Joker (The Dark Knight): Same

My top two have not changed in the three years that I've done this list. That's for a reason. The Dark Knight is my favorite film of all time, and the Joker is one of the biggest reasons for that. Heath Ledger's iconic version of the Clown Prince of Crime is this mesmerizing, fantastic, crazy character that I absolutely love. This character transcends the comic book version and re-ignites what made the Joker fantastic in the first place: simple chaos and evil. There's no motive. There's not even a name. He's just an agent of chaos. And he's fantastic.


1. Darth Vader (Star Wars): Same

Just edging out the man who laughs is everyone's favorite dad. Who else would be atop a movie villains list? Everything about Darth Vader is iconic. As soon as his tall, dark figure entered the starship ten minutes into A New Hope, he was the most iconic villain ever. The voice. The look. The lines. Everything. There's nothing to say about Vader that hasn't been said already. He is the most iconic thing in a franchise filled to the brim with iconic things. He's the best. No doubt.


bottom of page