Warning: This post contains spoilers for all of the movies in the Marvel Cinematic Universe.

Let’s be honest: For over a decade, Marvel Studios has been operating with a group of B-team villains. Fan favorites like Magneto and Doctor Octopus belonged to other studios — though the Fox-Disney merger and deal struck between Sony and Disney, could bring some of the comics’ best villains into the Marvel Cinematic Universe. Still, Avengers: Infinity War featured the most formidable villain the Avengers have fought yet — Thanos — and Earth’s Mightiest Heroes will face him again in Avengers: Endgame. But is Thanos actually the best villain in the Marvel movies?

Marvel has introduced more than 30 villains in 21 movies since Tony Stark faced off against his business partner, Obadiah Stane, in the first Iron Man movie. Some have fought our heroes over typical desires: greed, power, a desire to destroy or sometimes just because they can. But others have come to blows over more pressing concerns: simmering sibling resentment or differences in sociopolitical views.

The Marvel die-hards in the TIME office ranked all the villains from the Marvel movies. Here’s the result:

32. Sonny Burch (Ant-Man and the Wasp)

Sonny Burch (Walton Goggins) in Ant-Man and the Wasp
Film Frame/Marvel Studios

Walton Goggins has played some great villains. But Sonny Burch, a side character in Ant-Man and the Wasp who wants to steal Hank Pym’s (Michael Douglas) technology, was in way over his head. He had plenty of greed, but no super-powers — or even super-wits — to beat the heroes or the main villain, Ghost (Hannah John-Kamen).

31. Cull Obsidian (Avengers: Infinity War)

Children of Thanos in Avengers: Infinity War
Marvel

Even for henchmen, the Children of Thanos contribute very little to Avengers: Infinity War. Cull Obsidian (Terry Notary), the largest of the fiends (on the far right above), turns out to be the least compelling. It’s unclear what his motivation is besides the sheer joy he derives from punching superheroes. He loafs around following Thanos’ orders until he meets an untimely end fighting Bruce Banner (Mark Ruffalo) in the Hulkbuster armor.

30. Justin Hammer (Iron Man 2)

Sam Rockwell as Justin Hammer in Iron Man 2
Paramount

Sam Rockwell does his best to ham it up as Tony Stark’s arms manufacturer rival. But the movie simply doesn’t provide enough scenery for him to chew. When he should be maniacally laughing, he’s debating logistics with an indifferent conspirator, Whiplash (Mickey Rourke).

29. Malekith (Thor: The Dark World)

Christopher Eccleston as Malekith in Thor: The Dark World
Marvel Studios

Malekith (Christopher Eccleston) is an evil elf who wants to use Dark Matter to turn the world dark…because he likes darkness? As motivations go, Malekith’s is one of the lamer ones that Marvel has dreamed up.

28. Ghost (Ant-Man and the Wasp)

Ghost (Hannah John-Kamen) in Ant-Man and the Wasp
Ben Rothstein—Marvel Studios

Our hearts go out to the misunderstood Ghost (Hannah John-Kamen), who is just trying to keep herself from phasing in and out of our reality. But her story plays second fiddle to the larger arc of Hank Pym reuniting with his wife in this movie. Ghost is barely a villain. In fact, she’s barely in the movie.

27. Corvus Glaive (Avengers: Infinity War)

Children of Thanos in Avengers: Infinity War
Marvel

Corvus Glaive (Michael Shaw) doesn’t get enough screen time to make an impression in Infinity War: He dies almost immediately at the hands of the Avengers. The most interesting thing about him is he’s apparently in a relationship with one of Thanos’ other children, though that’s never fleshed out in the film.

26. Aldrich Killian (Iron Man 3)

Guy Pearce as Aldrich Killian in Iron Man 3
Marvel

Ben Kingsley’s Mandarin isn’t included on this list since he turns out to be — spoiler alert — a timid actor dressed up as a supervillain. So Iron Man 3 is left with Guy Pearce’s Killian, a genius slighted by Tony Stark (Robert Downey Jr.) who holds quite the grudge. But he shows up so late in the movie that he proves to be an instantly forgettable bad guy.

25. Whiplash (Iron Man 2)

Mickey Rourke as Whiplash in Iron Man 2
Paramount

It’s pretty hard to understand Mickey Rourke as he mumbles his way through this movie. Rourke’s bizarre take on the bird-loving scientist could have made for a creepy villain, but as it stands, he turns out to be rather dull.

24. Yon-Rogg (Captain Marvel)

Jude Law as Yon-Rogg in Captain Marvel
Marvel Studios

Oh, what could have been: In another version of Captain Marvel, Jude Law’s character might have come across as a more condescending, and thus more dastardly, villain. Instead, he ends up mansplaining to Carol Danvers (Brie Larson) how to be a better superhero. But his overall motivation — and the motivation of the genocidal Kree — remains unclear. Why do they want to murder all the Skrulls besides imperialistic tendencies? The character needed a clearer backstory.

23. Abomination (The Incredible Hulk)

Tim Roth in The Incredible Hulk
Paramount

Tim Roth’s Abomination isn’t a bad villain, per se. His motivations are comprehensible: He wants to get Hulk-level ripped. He’s not particularly deep, but he’s a worthy foe. The problem is that Abomination is forgettable, as is the movie in which he stars.

22. Yellowjacket (Ant-Man)

Corey Stoll as Yellowjacket in Ant-Man
Marvel Studios

Bizarrely, Ant-Man‘s refreshing sense of humor does not extend to its villain, which is a shame because Corey Stoll can play both funny and menacing. The movie takes Yellowjacket a bit too seriously — in fact his story arc seems to be ripped directly from that of the villain in the first Iron Man movie.

21. Ulysses Klaue (Avengers: Age of Ultron, Black Panther)

Andy Serkis in Black Panther
Marvel Studios

Ulysses (Andy Serkis) is more of a henchman than a true villain. Plus, he has a killer arm. But ultimately, he’s upstaged by Ultron (James Spader) and Killmonger (Michael B. Jordan) in Age of Ultron and Black Panther, respectively.

20. Proxima Midnight (Avengers: Infinity War)

Carrie Coon as Proxima Midnight in Avengers: Infinity War
Marvel

Apparently, Proxima Midnight proves such a fierce warrior in the second half of Infinity War because she wants to avenge the death of her husband Corvus Glaive. Who knew? The super-talented Carrie Coon is wasted in a role that desperately deserves to be expanded.

19. Dormammu (Doctor Strange)

Dormammu in Doctor Strange
Marvel

Sure, as the ruler of the Dark Dimension, Dormammu is one of the most powerful villains in the Marvel Cinematic Universe. But for the few minutes this villain is present onscreen, he just looks like a purple, psychedelic wrinkle in the space-time continuum. Plus he gets too easily trapped in Doctor Strange’s (Benedict Cumberbatch) time-loop trick.

18. Obadiah Stane (Iron Man)

Robert Downey Jr. and Jeff Bridges in Iron Man
Paramount

Savvy fans probably predicted the mentor-to-villain twist early in Obadiah’s Iron Man arc. (Bizarrely, it was in the trailers.) But Jeff Bridges is irresistible onscreen — when he’s not caught inside the terrible Iron Monger suit. His greed makes him compelling, and his smarts make him scary.

17. Ego (Guardians of the Galaxy Vol. 2)

Ego, portrayed by Kurt Russell in Guardians Of The Galaxy Vol. 2.
Marvel Studios

Ego, the Living Planet (Kurt Russell), is a mass murderer. But he’s also kind of likable, thanks to Russell’s natural charisma. His relationship with Star-Lord (Chris Pratt) is one of the more emotionally resonant bits of writing in the Marvel Cinematic Universe: He cares about his son, if only as a means of spreading his seed further.

16. Ebony Maw (Avengers: Infinity War)

Tom Vaughan-Lawlor as Ebony Maw in Avengers: Infinity War
Marvel

Of Thanos’ children, Ebony Maw (Tom Vaughan-Lawlor) is certainly the creepiest. He uses the power of telekinesis to torture Doctor Strange with needles. But he’s ultimately just a road bump in the Avengers’ journey to confront Thanos.

15. Helmut Zemo (Captain America: Civil War)

Helmut Zemo (Daniel Brühl) in Captain America: Civil War
Zade Rosenthal—Marvel Studios

Helmut Zemo (Daniel Brühl) proved the most divisive villain among the TIME staffers who worked on this list. On the one hand, he was able to tear the Avengers apart by reading just a few words off a piece of paper — he doesn’t even have super powers. On the other hand, all he did was read a few words off a piece of paper. Plus, you didn’t even remember his name, did you? So here he sits in the middle of our list.

14. Ayesha (Guardians of the Galaxy Vol. 2)

Elizabeth Debicki as Ayesha in Guardians of the Galaxy Vol. 2
Marvel Studios

Ayesha (Elizabeth Debicki) doesn’t have all that much to do in Guardians of the Galaxy Vol. 2, and she fails in her one goal to punish the Guardians for stealing her batteries. But her gold visage is intriguing and her imperial air mesmerizing. By the end of the movie, she creates what we can only assume will be the main villain of the next Guardians movie: Adam.

13. Vulture (Spider-Man: Homecoming)

Michael Keaton as Vulture in Spider-Man: Homecoming
Chuck Zlotnick—Sony Pictures Entertainment

Perhaps one of the most politically apt villains of this era: A man who feels the technological advancements that have benefited the rich have simultaneously deprived him of his chance to earn a living wage. Unsurprisingly, a superb Michael Keaton succeeds at imbuing this genuinely scary villain with a note of empathy. But while his status as a street level baddie with a good motive earns him originality points, he can’t compete with some of the more powerful villains on this list.

12. Nebula (Guardians of the Galaxy, Guardians of the Galaxy Vol. 2)

Nebula (Karen Gillan) in Avengers Infinity War
Marvel Studios

Was Nebula (Karen Gillan) ever really a villain? We would argue yes. She did her best to stop the Guardians from achieving their goals. Of course she was motivated by a sibling rivalry with Gamora, rather than a desire for power. She essentially becomes a hero, once she and Gamora reconcile. But it’s her relatable resentment toward a sister that makes her a compelling character.

11. Ultron (Avengers: Age of Ultron)

The idea of Ultron is interesting: Tony Stark creates Frankenstein’s Monster. Ultron’s pessimistic vision that humanity will inevitably destroy itself even plays as a nice prelude to Thanos’ own doomsday vision. But artificially intelligent villains can be tricky to translate to the big screen, and Ultron — despite James Spader’s best efforts — is no Terminator. And it seems, given his incredible intelligence, that Ultron could have concocted a better plan than picking up a piece of land and dropping it back down to earth.

10. Alexander Pierce (Captain America: The Winter Soldier)

Robert Redford in Captain America: The Winter Soldier
Marvel

Casting Robert Redford, the hero of so many paranoid spy movies, as an undercover Nazi in a paranoid spy movie was a stroke of genius. Who doesn’t want to watch one of the greatest movie stars of all time say lines like, “Hail HYDRA?” But Redford doesn’t get enough to do in a movie that’s quickly overtaken by its titular villain, the Winter Soldier.

9. Red Skull (Captain America: The First Avenger, Avengers: Infinity War)

Red Skull in Captain America: The First Avenger
Marvel

Hugo Weaving’s portrayal of Red Skull in the first Captain America movie is not subtle — but it shouldn’t be. He’s a Nazi who is so obsessed with power he decided to try to out-evil Hitler. There are no shades of gray here, which makes Red Skull all the more dastardly. We wish Weaving had reprised the role in Infinity War, but sadly it was recast.

8. Kaecilius (Doctor Strange)

Kaecilius (Mads Mikkelsen) in Doctor Strange
Jay Maidment—Marvel

Mads Mikkelsen has played some of the best villains in culture, from a Bond baddie to Hannibal Lecter himself. Keacilius measures up. He feels genuine betrayal when he discovers the Ancient One has wielded dark powers to maintain control. And don’t underestimate the importance of looking evil as a villain: Once Kaecilius has his emo-glitter eye makeup on, he looks like a sadistic but stylish wizard.

7. Ronan the Accuser (Guardians of the Galaxy, Captain Marvel)

Lee Pace as Ronan the Accuser in Captain Marvel
Marvel Studios

Ronan might be your average, genocidal, monologuing bad guy, if it weren’t for Lee Pace’s performance under all that blue makeup. While many fans complain that Ronan doesn’t really get an epic moment of villainy, Pace brings a certain maniacal presence to the character that assures the audience he is not someone to be messed with.

6. Iron Man (Captain America: Civil War)

Iron Man, portrayed by Robert Downey Jr., appears in a scene from "Captain America: Civil War."
Disney-Marvel/AP

What a smart decision to make the original hero of the Avengers franchise the antagonist of a Captain America film. We know, Iron Man isn’t really a villain. But he is wrong about Bucky in this movie, and he locks up his friends in an underground prison. The fact that Civil War forced fans to choose between two beloved characters — and their understandable political perspectives — made the movie more interesting than it had any right to be.

5. Hela (Thor: Ragnarok)

Cate Blanchett as Hela in 'Thor: Ragnarok'
Marvel Studios

All praise Cate Blanchett, who, decked out in black armor and impeccable headgear, looks born to play a supervillain. Hela doesn’t need to be particularly complex, though the Shakespearean-eque family drama fits right in with Thor’s saga. Hela just needs to have a blast as she tries to destroy our heroes.

4. Winter Soldier (Captain America: The Winter Soldier)

Marvel

The Russo brothers put the Winter Soldier’s (Sebastian Stan) arm to good use in some impressive action sequences in the first Captain America sequel. But Bucky Barnes lands high up on this list because of his connection to Cap (Chris Evans). The few Marvel villains who stand out pull at the heartstrings of our heroes, and arguably nobody does that more than Bucky, who serves as the emotional core of two different Captain America movies.

3. Erik Killmonger (Black Panther)

Erik Killmonger (Michael B. Jordan) in Black Panther
Film Frame/Marvel Studios

It’s rare that any movie can convince an audience to simultaneously root for the movie’s hero and acknowledge that the villain makes a compelling argument. Killmonger’s well-drawn backstory ties neatly in with his political stance: That Wakanda should use its technology to help the oppressed. He may take his philosophy to a bloody extreme, but he actually convinces the hero, Black Panther (Chadwick Boseman), to change his mind about Wakanda’s foreign policy. Now that’s a great bad guy.

2. Loki (Thor, The Avengers)

Thor: Ragnarok. Loki (Tom Hiddleston)
Marvel

Loki is a fan favorite for a reason: More wildcard than true villain, audiences can’t help but root for the trickster god. He has the ultimate tragic backstory: an ignored, adopted son who turns to skulduggery in order to earn his family’s attention. Tom Hiddleston strikes the perfect balance between Shakespearean heft and comic book wit. And in a genre that can become predictable and rote, Loki always keeps fans guessing — about his allegiances, about his motivations and about his supposed deaths.

1. Thanos (The Avengers, Guardians of the Galaxy, Avengers: Age of Ultron, Avengers: Infinity War)

Thanos (Josh Brolin) in Marvel Studios' AVENGERS: INFINITY WAR
Marvel Studios

You simply cannot beat the sheer power of Thanos. With one snap, he destroyed half of all life in the universe. In fact, he is the only villain on this list who actually accomplished his goal and defeated the Avengers. But his motivations make him more than just a big purple strongman: His intentions — saving a universe running out of resources by sacrificing half of all life — are well-meaning but disturbingly misguided. His relationship with Gamora (Zoe Saldana) adds a dose of family drama to Infinity War. Now we’ll see whether Thanos can maintain his mantle by the finale of Endgame.

Write to Eliana Dockterman at eliana.dockterman@time.com, Alex Fitzpatrick at alex.fitzpatrick@time.com and Megan McCluskey at megan.mccluskey@time.com.

SPONSORED FINANCIAL CONTENT

Read More From TIME

EDIT POST