M. Night Shyamalan Movies Ranked From Worst To Best

M. Night Shyamalan is a polarizing filmmaker, and we're never going to agree on where all of his films rank, so feel free to disagree with the placement below. That said, over the course of 15 films, Shyamalan has built up a fascinating body of work. It's not always successful, but it's almost never boring.

Before we go any further, some rules: we're only ranking Shyamalan's feature directorial efforts. Which means there will be no "Servant," a TV show, on this list. Nor will we talk about "Devil," a film that was heavily marketed as a Shyamalan movie even though he only produced it and helped come up with the story.

And now, without further delay, here are our choices for M. Night Shyamalan movies ranked from worst to best.

15. The Last Airbender (2010)

No matter where you stand on M. Night Shyamalan's filmography, I think it's safe to say the general consensus is that "The Last Airbender" is his weakest, and worst, effort. Based on the beloved "Avatar: The Last Airbender" series, the film was made for seemingly no one. Fans of "Avatar" hated it and non-fans of "Avatar" didn't care to watch it. Even worse, the film features some serious whitewashing on many of its characters. This was supposed to be the first of a trilogy, but it flopped so hard that those plans were nixed. I don't blame Shyamalan for wanting to dabble in big franchise filmmaking, but this is a huge misfire and I'm sure everyone involved would like to pretend it never even happened.

14. After Earth (2013)

Speaking of pretending things never happened, I bet you completely forgot about "After Earth," a 2013 sci-fi film starring Will Smith and son Jaden Smith. At this point, Shyamalan's career was on such a downward trajectory that the majority of the marketing omitted his name entirely. This was a huge contrast from most of Shyamalan's previous films, which had displayed his name prominently in trailers and on posters. In Shyamalan's defense, rumors abound that this really wasn't even his movie — it was more of a passion project for Will Smith to help launch his son Jaden into movie stardom. With all that in mind, we probably shouldn't hold this one against Shyamalan — he likely had to adhere to the demands of his big star, and probably had very little control over the project in the end.

13. Glass (2019)

I've defended M. Night Shyamalan's work vigorously over the years. When most people turned on him, I remained in his corner. So I was thrilled when the one-two punch of "The Visit" and "Split" signaled something of a comeback, and I was majorly excited for "Glass," the long-awaited sequel to "Unbreakable." Sort of. Shyamalan actually made this a sequel to both "Glass" and "Split," and while that's a potentially interesting idea, almost nothing works here. Bruce Willis, once such a great fit for Shyamalan's films, sleepwalks through this entire thing. And Shyamalan's attempt to keep the scale small by having the majority of the movie set in one location really doesn't work. The big conclusion, in which a series of twists and turns flip everything upside down, doesn't help matters either. There are a few nice stylish flourishes here and there — but so what?

12. Praying With Anger (1992)

Like "Wide Awake" (Shyamalan's first feature, which we'll get to in a moment), "Praying With Anger," isn't terrible. It's just kind of forgettable, and in my book, that's a worse sin. In his heart, Shyamalan really wants to be an actor, which is why he gives himself extended cameos in all his movies. "Praying With Anger" has the biggest extended cameo of all, since Shyamalan is actually the star of the picture as well as the writer-director-producer. Kudos to the filmmaker for this ambitious launch to his career, a film about an Indian American going back to India and experiencing a culture clash, but again — there's just not a lot here. I almost didn't include this because it didn't really have a wide release, or much of a limited release, either. But I wanted to be thorough — and you can find the entire movie online, if you're so inclined.

11. Wide Awake (1998)

There's some alternate universe where "Wide Awake," Shyamalan's first studio picture, was a huge hit, launching Shyamalan into a bland career of indie dramedies. Thankfully, that didn't happen, and this 1998 film about a kid trying to find answers to the meaning of life and death following the passing of his grandfather has mostly been tossed aside. It's not really a terrible film, but it lacks the weird spark that Shyamalan would eventually embrace for his genre pictures.

10. Lady in the Water (2006)

"Lady in the Water" really felt like the beginning of the end of Shyamalan when it opened in 2006. And I can see why — it is a very silly movie, and signals the point where the filmmaker crossed over into a new era where none of his characters can have normal conversations. All the dialogue is odd and stilted, as if it were translated into another language and then translated back into English without checking the syntax. And yet ... I can't really hate this goofball movie about storytelling and magic, featuring the always-welcomed Paul Giamatti as an apartment complex super who finds a water nymph (Bryce Dallas Howard) in a swimming pool. In true big-headed fashion, Shyamalan gave himself his biggest role since "Praying With Anger" here, playing a writer who is destined to write something that will change the world. Critics lambasted this plot point as Shyamalan buying into his own hype, and hey, maybe they're right. But you've gotta admire the chutzpah.

9. Old (2021)

Shyamalan's latest, "Old" is going to polarize a lot of people because it's strange and not very successful (read my review here). It once again has the filmmaker proving he's somehow forgotten how to write natural dialogue, and the big twists and turns don't really add up. But again, it's hard to totally dislike this movie just because Shyamalan is one of the few bigger filmmakers working right now who is willing to take wild swings. And we have to respect that, even if we don't like it.

8. The Happening (2008)

I'm sure people are going to take issue with me having "The Happening" so high up on this list. But I don't care! Because for all its flaws, "The Happening" is a lot of fun. It was Shyamalan's first R-rated movie, and the filmmaker embraces that rating with gusto, putting together graphically violent scenes where people are dismembered, shot, hanged, and even run over by giant lawnmowers. When pre-release feedback hinted at a disaster, Shyamalan started giving interviews where he claimed "The Happening" was meant to be a B-movie. In other words, he went around claiming he made the film bad on purpose. I don't know if that's true or not. But either way, I do think "The Happening" is a B-movie with a big budget. It's a film about killer trees, and it has a big finale featuring a crazy old woman named Mrs. Jones who really doesn't want you eyeing her lemon drink. How can you not have fun with that?

7. The Visit (2015)

After busting out of director's jail, M. Night Shyamalan borrowed $5 million against his own home to make "The Visit." The gamble paid off — the movie was a huge hit (for that price tag) and signaled a kind of comeback for the filmmaker. While "The Visit" isn't as smart or well-crafted as some of his earlier work, it's incredibly entertaining. While the movie's found footage framing is a little unnecessary, Shyamalan knows how to milk it for all its worth as he tells a tale of two kids who go to stay with their estranged grandparents. The grandparents seem kind and charming — at first. But then things start to go very, very wrong, and Shyamalan has a ton of fun with all of this, reminding us again and again that old people are scary.

6. Split (2016)

While "The Visit" was Shyamalan's big comeback, "Split" was his opportunity to remind us he still had the goods. Meticulously directed with some fascinating shot compositions, "Split" features James McAvoy turning in a killer performance as a kidnapper with multiple personalities. Beautiful space alien turned actress Anya-Taylor Joy is one of his captives who is strong enough to fight back, and she, too, does exceptional work here. While the ending coda that connects this to "Unbreakable" feels needless (and resulted in the disappointing "Glass"), most of the stuff that comes before it is highly effective.

5. Knock at the Cabin (2023)

Shyamalan's most recent film asks a tough question: would you sacrifice someone you love to save the rest of the world? Couple Eric (Jonathan Groff) and Andrew (Ben Aldridge) are on vacation with their daughter Wen (Kristen Cui), renting a secluded cabin in some idyllic woods. It should be the perfect getaway. But things go to hell fast when a group of four strangers shows up and takes them all hostage. 

The leader of the group, a gentle giant played to perfection by Dave Bautista, tells the captives that one of them must be sacrificed, and that the other two have to carry out the murder. If they don't, the world will literally end. The hostages think their captors are out of their minds, but little by little, scenarios begin to play out that suggest that maybe, just maybe, this is all for real. 

Adapting Paul G. Tremblay's novel "The Cabin at the End of the World" (which I think we can all agree is a better title than "Knock at the Cabin"), Shyamalan uses his mostly one-location film to get creative, employing some of the most inventive cinematography of the year, complete with cameras that follow the swinging of deadly weapons, and shots through windows and doorways conveying a sense of both a world beyond the cabin while heightening the claustrophobia within. "Knock at the Cabin" doesn't quite stick the landing, but it's a great showcase for the fact that Shyamalan is really, truly back and just as good as in his heyday. 

4. Signs (2002)

"Signs" is Shyamalan's most entertaining movie. The filmmaker embraces his biggest influencer — Steven Spielberg — to create a surprisingly intimate alien invasion film with a big heart. The alien stuff is creepy, but it's the emotional heft that really keeps "Signs" going. We care about the characters (yes, even though one of them is played by Mel Gibson), so we're easily wrapped up in their plight. Shyamalan also deserves credit for being one of the few filmmakers who realizes that Joaquin Phoenix can be really funny when given the right opportunity.

3. Unbreakable (2000)

Before Christopher Nolan came along with the "Dark Knight" trilogy, Shymalan was ahead of the game with "Unbreakable," a film that dared to take superheroes seriously. In Shyamalan's film, comic books are our last link to an "ancient way of passing on history," and while that sounded mighty silly back in 2000 when this film came out, it works exceedingly well. Bruce Willis, back before he decided to not give a s**t, plays a sad security guard who survives a train crash and realizes he's virtually indestructible. This leads him to comic book collector Samuel L. Jackson, who believes Willis is a real-life superhero. You could use this premise to craft a big, dumb action pic, but Shyamalan instead uses it to make a melancholy, lonely tale about not understanding your place in the world. It's a beautiful film.

2. The Village (2004)

I know some folks will be apoplectic that "The Village" ranks so damn high on this list, but I promise you I'm not trolling, dear reader. I firmly believe "The Village" is one of Shyamalan's best movies. In fact, it's my favorite of his films — but "favorite" and "absolute best" are different categories. "The Village" was a victim of marketing that tried to sell the flick as a big scary monster movie. It's not that. Instead, it's a love story and a meditation on grief. Bryce Dallas Howard is incredible as a blind woman living in a secluded 19th-century village. The woods that surround the village are said to be home to unspeakable monsters, and to venture into their territory spells certain death. This is the stuff the marketing focused on, and while it's certainly a key element of the film, "The Village" is more concerned with fear, and love. The romance that blossoms between Howard and Joaquin Phoenix, playing a painfully shy village resident, is incredibly sweet, and definitely the best portrayal of love in any of Shyamalan's films. Featuring jaw-dropping cinematography from Roger Deakins and a James Newton Howard score that will make your soul ache, "The Village" is definitely Shyamalan's most underrated movie and more than deserves its high ranking here.

1. The Sixth Sense (1999)

I mean, obviously. "The Sixth Sense" is the movie that put M. Night Shyamalan on the map, and it's easy to see why. Shyamalan blended adult drama with ghost story chills to create this fantastic film about two very lonely people — a psychologist, played by Bruce Willis, and a kid who sees ghosts, played by Haley Joel Osment — who find each other in the dark. Shyamalan is always at his best when he's telling tales of lonely individuals, and the friendship that grows between the two main characters here is the glue holding everything together. Yes, everyone knows about the film's big twist — but even if you enter into the film with full knowledge of that twist, everything in "The Sixth Sense" still works. It's a shockingly assured work from a then-burgeoning filmmaker, and no matter what Shyamalan does for the rest of his career, this is a movie that will stand the test of time.