A good movie villain is hard to come by. Comic book movies offer no shortage of villains but many of them vary in quality. There is a plethora of villains to choose from but it always seems so hard to really nail what makes them so great.

Marvel has often been criticized for its sub-par portrayals of many of their iconic villains, but is that fair? True, Marvel has had villain problems but are they anymore severe than DC's?

DC doesn’t have as many movies to compare to as Marvel but when it comes to villains on the big screen, DC has got the upper hand. To be fair, the Batman films have played a large part in perpetuating this opinion and it’s hard to argue against it when you think back to some truly superb portrayals.

We thought it best to dive into DC film history and rank all the DC villains to be able to get a clearer picture. But first, some stipulations. For the purpose of this list, no DC movie released before 1975 will be included and no villain that didn’t appear first in comics. Additionally, comic villains who don't serve narratively as villains (like the Joker in Suicide Squad) don't qualify.

Now that we got that out of the way, let’s dive in to our list of Every DC Movie Villain, Ranked.

Poison Ivy & Bane (Batman & Robin 1997)

There are so many things that can be said about the woeful Batman & Robin. It’s been torn apart by film critics and fans for years and it will live on as the worst Batman film ever. You could even make a case for it being the worst superhero film of all time.

Much of the reason for its terribleness is the villains. Poison Ivy and Bane are only two of three but boy, are they bad. Ivy is annoying beyond belief and Uma Thurman plays her without a hint of believability. Gone is the femme fatale with a complex psychological backstory. In her place lands a cartoonish version with horrible costumes.

Bane may be an even bigger abomination - changed from a brutal tactician into a mindless brute that can barely string together two sentences. "Afterthought" is the best way to describe Bane’s inclusion in the movie - as nothing more than Poison Ivy's muscle, he doesn't even warrant his own entry.

Anton Arcane ( Swamp Thing & The Return of Swamp Thing)

Swamp Thing isn’t the household name that Batman is, so getting his villain wrong only made matters that much worse.

Anton Arcane has benefited from being written from great writers like Alan Moore, Len Wein, and Scott Snyder, so you know he’s got clout. The first film follows the comic book version of Arcane a bit more closely than you might expect but actor Louis Jordan just comes off as generic and run of the mill.

The Return of Swamp Thing is an abysmal movie and Arcane’s portrayal is more villainous, but not that different from the first movie. He has a lot of mustache-twirling scenes but, really he's just forgettable. We long for the day when fans get to see a truly fearsome and worthy portrayal of one of DC's most fearsome villains.

Mr. Freeze (Batman & Robin)

Surprise! Mr. Freeze is our next target on this list. The aforementioned third villain in Batman & Robin only served to add more face palms in a movie chock full of face palm moments. Mr. Freeze had gotten a face lift in the early 90’s thanks to Batman: The Animated Series but Batman & Robin sought to undue all of that thanks to  Arnold Schwarzenegger’s portrayal. That’s the most angering part of it. Fans had been enjoying the revival of this once maligned character only to have casual fans laugh at Mr. Freeze once again.

The portrayal itself is as camp as it gets. Always cartoonish and often ridiculous. Arnold’s one-liners are on full display, except that they all related to cold related things, like “Allow me to break the ice” or “Freeze well, Batman!” The only reason he is higher on the list is because said one-liners might actually start to get funny.

 Quentin Turnbull (Jonah Hex)

Quentin Turnbull is even more little known than Anton Arcane but that doesn't mean he's not a damn good villain. Jonah Hex is DC's most popular western comic book hero but his 2010 big screen movie Jonah Hex is very bad. It's a shame because these lesser known characters aren't often afforded a second at bat like Superman or Batman are.

Turnbull is a revenge-seeking sadist who has got a bone to pick with Jonah Hex due to the murder of his son in the American Civil War. The movie sort of follows the comic, but really it's the script and dialogue that fail him. He's just so bland and boring. Nothing makes him leap off the screen. He's a villain you've seen 100 times before, except done much better.

You'd think John Malkovich would've added some of his trademark nuttiness, but none of that comes through.

 Two-Face (Batman Forever)

Batman Forever was a movie that signaled troubling times ahead for the Batman franchise. No one knew that Batman Forever would seem like Hamlet when compared to Batman & Robin, but nonetheless, it was quite bad.

Tommy lee Jones was the actor chosen to portray Two-Face for the first time on the big screen and he seemed to be the perfect choice for the role. Jones turns the volume up to 11 and chews up scenery in nearly every scene he’s in. He manages to overact in the movie more than Jim Carrey! No easy feat.

His dialogue doesn’t help either - it’s as over the top as he is. Two Face’s look and costume are just as in your face, boasting bright pink and purple that may hurt your eyes if you look at it too long. It’s pretty clear that they weren’t going for subtlety with the character.

 Doomsday (Batman v Superman)

We arrive at the much debated Batman v Superman: Dawn of Justice. Initially, it was thought that there would only be one major antagonist to go along with the conflict between Batman and Superman, but that was not the case.

It could be argued that the movie’s greatest fault was cramming too much, too soon and Doomsday falls within that issue. He simply felt shoehorned in at the last second. His origins were slightly changed from the comic books - he was still a mindless killing machine, but his impact was so greatly diminished. The comics took some time to build the stakes and while the movie did end up “killing” Superman, it just felt rushed.

Doomsday is supposed to be the greatest threat the Superman ever faces. There are years of stories and villains behind him. The shoddy CGI didn’t help make him any more compelling either.

 Lucifer Morningstar (Constantine)

Constantine fans tend to want to forget the Keanu Reeves film from 2005. It wasn’t exactly an accurate representation of the world or the character. Lucifer Morningstar got his start in the pages of Sandman and gained even more popularity after his solo comic title was launched in 2000.

Lucifer is a man of ambition, charm and sophistication, but not to be fully trusted. He has a dark past but can almost be seen as an antihero at times. Actor Peter Stormare plays a version of Lucifer that loosely resembles the comic character. Stormare is often cast in villainous roles and plays the character by the numbers. There’s not much uniqueness there. He’s simply the devil who has a hate-on for Constantine. Instead of complex characterization they choose to give him the ability to stain the floor with his footprints.

 Lex Luthor  (Batman v Superman: Dawn of Justice)

We can’t have a list like this and not talk about Jesse Eisenberg’s Lex Luthor. The majority of fans took issue with Luthor’s portrayal in Batman v Superman.

Eisenberg’s Luthor seems to be in a manic state most of the film.

He injects energy into the film but it just comes off as too much or just plain annoying. He’s trying too hard to impress and the performance reeks of insincerity. He’s also quite young in the role, which can be jarring for fans used to seeing an older, balder ,and more ruthless Lex. He does shave his head by the end of the film but it was too late.

Perhaps fans were just so enamored with the rumor of Bryan Cranston taking on the role before Eisenberg was cast that they never really gave him a fair shake. At the end of the day, he just isn’t a good fit for the role.

 Enchantress (Suicide Squad)

One of DC's recent critical failures was 2016's Suicide Squad. The plot focuses on a team of supervillains enlisted by the government to do their dirty work. Technically all the villains on the squad would count on this list but the primary antagonist of this film is Enchantress played by Cara Delevingne.

Enchantress is one of the lamest and most forgettable villains in DC cinematic history.

Delevingne isn't an outstanding actress and her lack of skills really shows in this role. Enchantress never feels real or intimidating. Her motivations are about as generic and standard as you can get. You never care about her and you are glad when she's not on the screen. Her ultimate defeat is almost as lame as her entire part in the movie.

Still, at least DC took a chance on a more unknown villain.

 Riddler (Batman Forever)

For this entry we go back to the '90s and back to Batman Forever. We already talked about Two-Face but this time w'll focus on the Riddler. One of Batman's most iconic foes is taken to hammy heights thanks to an over-the-top performance from Jim Carrey. Let's be honest, when is Jim Carrey not over the top?

Carrey decided to emulate Frank Gorshin's take on the Riddler in Batman '66, but adds lots of snark and insecurity. The orange hair that Carrey/Riddler sported also raised quite a few eyebrows at the time. The only reason that Riddler placed higher on this list than Tommy Lee Jones's Two Face is because you might get the occasional chuckle out of Carrey's performance. All you really need to know is that Jim Carrey played Jim Carrey.

 Steppenwolf (Justice League)

In the comic books, Steppenwolf is Darksied's uncle and commander of his vast army. The Justice League movie paints a similar picture but gives him rather simplistic motivations. He was to rule our world for extremely vague reasons.

Actor Ciaran Hinds plays Steppenwolf admirably despite some more shoddy CGI.

He's even got some clever lines but ultimately it's just too hard to care about the guy. He doesn't seem like a foe fitting enough to take on the Justice League. Steppenwolf provides to be enough of a physical challenge but the execution of his character is off.

Still, it's not quite as offensive a portrayal as some might say. It's just a shame they couldn't do more with an actor of Ciaran Hinds caliber.

 Ares & Doctor Poison (Wonder Woman)

Wonder Woman with Doctor Poison and Ares

2017’s Wonder Woman is one of the few films in the DCEU to be met with critical acclaim, but it’s not without its flaws. Many fans agree that the movies villains weren’t the best. Doctor Poison had a promising start but quickly fell into generic territory. Sometimes her portrayal bordered on comical, like the scene where she and General Ludendorff cackle manically as a room of people die from exposure to poison gas. That was pretty over the top.

Fans took greater issue with Ares.

The reveal of having Sir Patrick Morgan end up being Ares was clever and unexpected but it didn’t seem fitting for a villain as important as Ares. David Thewlis played the part admirably but he just didn’t feel very intimidating in the role. CGI again played a part in the disappointing final confrontation between he and Wonder Woman.

 Lex Luthor (Superman 1978)

Gene Hackman as Lex Luthor with hair in Superman The Movie

Richard Donner’s Superman was a watershed moment for comic book films in 1978. It was the first film to take its source material seriously. They hired a respected director, wrote a great script, and cast great actors.

Acting legend Gene Hackman was cast in the movie as Lex Luthor. You’d think Hackman as Luthor would be a slam-dunk but it didn’t quite work out that way. Hackman decided to play Luthor in a more comical and lighthearted way. He still had his moment of menace and ruthlessness but with an unnecessary amount of camp.

Hackman lent plenty of credibility and charm to the role but you’re just left wanting a bit more from Luthor’s portrayal.

It didn’t help that Hackman refused to be bald for most of the film.

Hackman would go on to play Luthor again three more times, each being zanier than the last.

 Hector Hammond (Green Lantern)

2011’s Green Lantern gets a lot of flack for setting back the character in the eyes of casual fans. It ruined the Green Lantern' s image so much that Warner Bros. has yet to include him in the DC extended universe. One of the movie’s mistakes was going with Hector Hammond as its first villain when Mark Strong’s perfectly cast Sinestro was right there, but hindsight is 20/20.

Actor Peter Sarsgaard actually did a fairly good job as Hammond. He was convincing and played the part straight. The movie spent some time building up his character and, truth be told, he ended up looking the part too. But Fans just didn’t seem to like the character, instead finding him whiny and lame.

Honestly, he was the least of the movie's problems, but he didn't help matters.

 Lex Luthor (Superman Returns )

We arrive again to Lex Luthor, this time played by Kevin Spacey. There was once a time where Kevin Spacey was just known for being a good actor rather than a disgraced harasser. It’s difficult to balance the man and the artist but he did do some good work in his time.

It's easier to buy Spacey in a villain role, especially these days. 

Spacey was the dream casting choice for Luthor and he didn’t disappoint in Superman Returns. Many thought he might carry on Gene Hackman’s lighthearted approach to the character but that was not the case. Spacy’s Luthor was deadly serious and yet had plenty of charisma.

Luthor was actually bald for the entire film! Sometimes it’s the little things that make fans happy.

The real problem is that fans just got sick of seeing Lex as the main villain in nearly every Superman movie. Superman has so many great villains in the comics that deserve a big-screen shot.

 General Zod (Superman 2)

Kneel before Zod." This is probably the most iconic line uttered by actor Terence Stamp in the role of General Zod. The film focused on Zod as the leader of a trinity of Kryptonians that escape the Phantom Zone and set their sights on Earth.

It was a wonderful treat to have Superman fighting against someone who could go toe to toe with him.

The fight scenes are a bit dated now but General Zod and his cronies are nevertheless, fondly remembered by fans.

Lex Luthor was in the film as well, but not as the main baddie, and his interactions with Zod made for some great scenes. Superman 2 ended up being a worthy sequel thanks in part to Terence Stamp's theatrical turn as General Zod.

 Ozymandias (Watchmen)

Zack Snyder's adaptation of Alan Moore and Dave Gibbons seminal Watchmen divided fans and critics upon its release in 2009. But really what Zack Snyder film doesn't ruffle a few feathers?

Watchmen's central villain ends up being the "heroic" Adrian Veidt, AKA Ozymandias. 2018 is turning up to be quite a year for Ozymandias as he is heavily featured in DC's Doomsday Clock comic.

Matthew Goode plays Ozymandias in the movie and his performance is a bit stiff, but stays fairly true to the comics.

Nearly every line of dialogue he has is verbatim to Alan Moore's original script. It's hard to hate the portrayal when it stayed so close to the source material but some fans state that that is exactly the problem.

Ozymandias has decent costume, if not a bit too muted, but you expect that from Zack Snyder. If you enjoyed Snyder's adaptation then chances are you liked the film's portrayal of Ozymandias too.

Ra's al Ghul (Batman Begins)

Ra's al Ghul trains Bruce Wayne in Batman Begins

Now we're getting to the good stuff. Liam Neeson unexpectedly became an action star after his role as Bryan Mills in Taken, but he was already tough as nails thanks to roles in movies like Darkman, Gangs of New York, and Batman Begins. As Ra's al Ghul, Neeson was great, lending all his charm and acting talents to the role. Ra's Batman/Bruce Wayne's mentor. He taught Bruce everything he knows.

The film offers a compelling look as to why Ra's al Ghul is how he is. As Ra's trains Bruce physically, he tries to turn him mentally, always challenging Bruce's moral compass. Ra's al Ghul ends up being one of the most unique Batman villains to appear on the big screen thanks to great characterization and an excellent performance from Liam Neeson.

Two-Face/Harvey Dent (The Dark Knight) 

Aaron Eckhart as Harvey Dent holding a coin in The Dark Knight

Christopher Nolan's sequel to Batman Begins managed to not only surpass it's predecessor, but set a new standard for comic book films. The Dark Knight has complex themes mixed with thrilling action, suspense and great acting. One of several performance that stood out was Aaron Eckhart's Harvey Dent/Two-Face.

Eckhart's performance is noteworthy because it focuses more on Harvey Dent before he became Two-Face.

We get to know the kind of man he is and what his morals are. His turn is gradual but Gotham's white knight eventually falls from grace. It's all more impressive because Two-Face wasn't even the main villain in the film, but his addition did not feel like an add-on or a desperate move to "sell" more villains.

Most importantly, Eckhart's Two-Face managed to undue some of the damage done by Tommy Lee Jones's laughable version.

General Zod (Man of Steel)

There was a time when Man of Steel was DC's most divisive movie. Fans and critics were very passionate about their opinion and continue to be to this day. Fans were lukewarm about a lot of the film but most lauded the portrayal of the villainous General Zod.

Zod gave fans the chance to see Superman go against someone who could match his strength, and what a battle they had.

Michael Shannon played Zod with the intensity and ferociousness he brings to all of his villainous parts.

There was some criticism of how Superman was portrayed in the film, and some even went on to claim that Zod was more heroic and noble than Superman. Despite what you may feel about Man of Steel, at least it had a good villain without having Lex Luthor show up in any way.