Villains are often played by actors who have a certain eerie beauty to them. They are good at playing the "bad boy" or villain in movies and we all love them for it.
Each character either fits the bad boy aesthetic or is a ruthless villain who is compelling to watchers. Here are 10 roles that were perfectly cast to make us love them even when we weren't "supposed to."
Bucky Barnes, "Captain America" and "The Avenger Series"
Played by: Sebastian Stan
Bucky Barnes isn't always the villain but we'll admit we loved his "Winter Soldier" role. Bucky's character had a lot of depth and a lot of demons. During his villain moments, he had a certain death glare that always hit differently. You also have got to love his Bucky walk.
Played by: Dane DeHaan
Lucien Carr is the mysterious poet in the movie "Kill Your Darlings" alongside Daniel Radcliffe. Lucien's character has an eerie beauty to him. His eyes always seem like they are peering into the soul and he always looks like he's up to no good but we love it.
Played by: Brad Pitt
Tyler Durden is the confusing character in the movie Fight Club who represents rebelling against society. He ends up being a sort of villain but we love his character. He fits within the bad boy aesthetic and is an iconic role.
Played by: Johnny Depp
George Jung is one of my favorite roles of Johnny Depp. He plays an infamous drug dealer who messes up his life and it shows deep consequences of his job. However, in the beginning, he looked good doing it.
Played by: Tom Hardy
Reggie Kray is from the movie Legend about the infamous gangsters, the Kray Twins. Reggie has that old-time gangster aesthetic and is super flirty and romantic in the beginning. If you have seen the movie, you know his character ends up a worse man than his unstable twin brother Ronnie and it makes you hate him. However, in the beginning, Reggie Kray fits the attractive villain aesthetic.
Played by: Heath Ledger
Patrick Verona obviously isn't very villainous but he is an iconic bad boy character from the movie "10 Things I Hate About You." He set the standards high for playing a bad boy in a high school movie. We all loved his character and will forever miss Heath Ledger's acting.
Played by: Keanu Reeves
Jack Traven is another character who isn't a villain in fact he is the hero of the movie Speed. However, he fits the bad boy aesthetic because he is a character who does things his way and isn't someone to mess with. Plus, Reeves "Speed" role is underrated and deserves more recognition.
Played by: Tom Hiddleston
Dr. Robert Laing is the main character from the movie High-Rise. It's a bit confusing on whether or not Dr. Laing is a villain or not but he definitely has an eerie aesthetic to him. He's someone who seems like he wants to be good but is slowly losing his sanity.
Played by: Mark Wahlberg
David McCall is switching to an intense villain but young Mark Wahlberg made him one attractive villain. McCall is the obsessed boyfriend of Reese Witherspoon's character Nicole Walker. He creates a good villain and Wahlberg shows some intense acting.
Played by: Cillian Murphy
Jackson Rippner is the villain from the movie Red Eye. Cillian Murphy always plays a perfect villain with an eerie beauty. His Red Eye role seems extra creepy but his eyes and look have a certain aesthetic that often comes with Murphy's roles.
As an Amazon Affiliate partner, Odyssey may earn a portion of qualifying sales.
Follow Swoon on Instagram.