Teen movies and TV shows are notorious for casting actors who haven’t set foot inside of a high school in years. It’s easy to imagine why they might do it: older actors have more experience and spare us from watching the awkward adolescent phase, but sometimes these casting choices still push the limits of our suspension of disbelief. This list is nowhere near complete, but it does include some of the most egregiously over-aged actors from the 1970s to today.
Patrick Swayze in 'The Outsiders'
The teen gang drama “The Outsiders” was chock full of some of the hottest actors of the 80’s (and today), and most of them were actually close to age-appropriate. The notable exception was Patrick Swayze as Ponyboy’s older brother and guardian, Darry. At 30, Swayze was a full ten years older than S. E. Hinton’s novel called for, and almost old enough to be the 14-year-old Ponyboy’s father.
Brian Backer in 'Fast Times at Ridgemont High'
“Fast Times” was inspired by director Cameron Crowe’s experiences going undercover as a high schooler at age 22, so in a way it makes sense that most of the actors were also older than they should have been. None stand out quite so much as Brian Backer, who at 25 was not only way too old to play shy sophomore Mark, but even older than Phoebe Cates, Sean Penn, and Judge Reinhold, all of whom played upperclassmen.
Judd Nelson in 'The Breakfast Club'
Judd Nelson was a total scene stealer as “the Criminal” John Bender in “The Breakfast Club,” and his movie-ending fist pump is nothing short of iconic, but what hasn’t aged as well is John’s romantic connection with Molly Ringwald’s Claire after he spends the whole movie belittling her. It gets even skeevier when you realize that Nelson was 25 at the time, playing opposite Ringwald at only 16.
Alan Ruck in 'Ferris Bueller's Day Off'
Alan Ruck was pushing 30 and looked every bit of it when he played Ferris Bueller’s uptight best friend Cameron in the 1986 film. This is obviously way too old for a high school senior, but you could make the case that Ruck’s age was actually an asset to his character, since a 30-year-old who’s afraid to stand up to his father is so much more pathetic than an 18-year-old.
Gabrielle Carteris in 'Beverly Hills, 90210'
“Beverly Hills, 90210” premiered in 1990 and became the first hugely popular teen TV drama, so it probably deserves a significant share of the blame for the age-inappropriate casting of its many imitators. The show’s most questionable casting choice was Gabrielle Carteris, who was 29 at the start of Season 1, and 32 by the time her character, valedictorian Andrea Zuckerman, graduated from high school in Season 3.
Ian Ziering in 'Beverly Hills, 90210'
He wasn’t quite as old as Carteris, but at 26 in 1990, Ian Ziering was still way too old to play “90210’s” Steve Sanders. Steve’s immature, short-sighted schemes throughout the show’s early seasons could be excused coming from a teen, but it’s hard to watch Ziering’s portrayal without wishing that his character would just grow up already.
Sasha Jenson in 'Dazed and Confused'
The joke of Matthew McConaughey’s stoner character, David Wooderson, in “Dazed and Confused” is that he’s way too old to be hanging out with high schoolers. What’s even funnier is that one of those high schoolers, Don Dawson, was played by actor Sasha Johnson who is actually five years older than McConaughey!
Tom Hanks in 'Forrest Gump'
Tom Hanks was 38 in 1994, a perfectly appropriate age to play the beloved character of Forrest Gump in the bus stop scenes and beyond. However, Hanks also played Forrest as a high schooler in the famous “Run, Forrest, Run!” scene without really any efforts at de-aging his appearance, ranking him among the oldest actors to play a teenager in recent film history.
Shannon Elizabeth in 'American Pie'
In “American Pie,” Jason Biggs and the actors playing his male friends were all in their late teens or very early twenties, but the women they pursued were mostly played by actresses in their mid-twenties, including Tara Reid and Alyson Hannigan, adding another layer of hilarity to the boys’ quest to gain some sexual experience. The oldest, though, was 25-year-old Shannon Elizabeth as foreign exchange student Nadia, who flaunted a body that set unrealistic beauty standards for any teens in the audience.
Linda Cardellini in 'Freaks and Geeks'
Like Rizzo in “Grease,” Lindsay from “Freaks and Geeks” needed to display a different maturity level than her peers, so casting 24-year-old Linda Cardellini was a defensible choice. That said, her age did stick out like a sore thumb next to John Francis Daley, who at 14 was actually the right age to play her brother Sam.
Gabrielle Union in 'Bring it On'
No shade to Gabrielle Union, who just doesn’t seem to age and could maybe still get away with playing a high schooler today, but when she played East Compton Clover cheerleader Isis in 2000’s “Bring it On” she was already 28, a full ten years older than Kirsten Dunst who played her rival, Torrance.
Keiko Agena in 'Gilmore Girls'
As Rory Gilmore’s best friend Lane, Keiko Agena saw her character grow up fast, first under the pressure of her mother to focus on schoolwork, and later as she married her rocker boyfriend Zack and gave birth to twins in her early twenties. Agena herself, though, was more than ten years older than her character and eight years older than cast mate Alexis Bledel.
Everyone in 'Wet Hot American Summer'
This one was intentional and played for humor, but almost the entire cast of the 2001 cult comedy film “Wet Hot American Summer,” including future stars like Paul Rudd, Amy Poehler, Bradley Cooper, and Elizabeth Banks, were entirely too old to play teenage summer camp counselors. When Netflix decided to revive the movie as a series in 2015, set during the same summer, they kept the cast intact, gifting us with a bunch of high schoolers played by forty-somethings.
Tobey Maguire in 'Spider-Man'
At this point, we’ve seen the Spider-Man origin story so many times that we know it by heart: lonely high schooler Peter Parker gets bitten by a radioactive spider and gains superpowers. The keyword here is “high schooler.” The MCU got the age pretty close with 19-year-old Tom Holland in 2016’s “Captain America: Civil War,” but not so much with the first bigscreen Spider-Man in 2002. Tobey Maguire was closing in on 27 when the movie premiered.
Ben McKenzie in 'The O.C.'
As the “90210” for a new generation, “The O.C.” committed many of the same age-inappropriate casting sins. The worst was nearly-25-year-old Ben McKenzie, who played the troubled-yet-sensitive Ryan Atwood starting when the character was just a sophomore in high school. McKenzie was only a couple of years older than co-stars Adam Brody and Rachel Bilson, but he was almost eight years older than Mischa Barton who played his love interest Marissa Cooper throughout the first three seasons.
Kristen Bell in 'Veronica Mars'
Kristen Bell is another actress who doesn’t really seem to age, but at 24 in 2004 she was definitely too old to play teen detective Veronica Mars, and one of the oldest actors of the series's high school cast. The show wisely made up for some of the age disparity by having Veronica move on to college in Season 3, and advancing the plot nine years for its 2013 crowd-funded movie revival.
Jon Heder in 'Napoleon Dynamite'
What’s more awkward than keeping tots in your fanny pack or trying to show off your sweet nunchuck skills? How about playing a 16-year-old when you’re actually 26? That’s the situation unknown actor Jon Heder found himself in when he joined the cast of “Napoleon Dynamite,” but luckily for him it turned out to be comedy gold and helped him land more awkward roles in the bigger-budget movies “The Benchwarmers” and “Blades of Glory.”
Taylor Kitsch in 'Friday Night Lights'
NBC’s “Friday Night Lights” featured several actors who were way too old for their roles, but most of their characters graduated from high school early in the show’s run. Not so for Taylor Kitsch’s Tim Riggins, who spent three seasons at running back for the Dillon Panthers despite the fact that Kitsch was already 25 in Season 1.
Jason Earles in 'Hannah Montana'
The Disney Channel’s “Hannah Montana” was a star-making vehicle for fresh-faced 14-year-old Miley Cyrus and a career revival for 45-year-old Billy Ray, but we’re still weirded out by cast member Jason Earles who played what was supposed to be Miley’s teen brother Jackson. The mop-top haircut could only go so far in masking Earles’ actual age of 29, more than double Miley’s and only 15 years younger than Billy Ray’s.
Jonah Hill in 'Superbad'
With his cargo shorts and white-boy ‘fro, Jonah Hill’s Seth actually made for a pretty convincing 18-year-old in the 2007 hit “Superbad.” It might surprise you to learn that Hill was already 23 at the time, just one year younger than Seth Rogen and almost six years older than “McLovin” actor Christopher Mintz-Plasse. Maybe he’s the one who should have had the fake ID!
Cole Sprouse in 'Riverdale'
Most of us have strong memories of Cole Sprouse as a kid in things like “Big Daddy,” “Friends,” and “The Suite Life of Zack & Cody,” so it’s hard to imagine him actually being too old for a role. Nonetheless, Sprouse is one of the more senior cast members as Jughead on “Riverdale,” starting his time on the show at 25 and still going strong playing a high schooler at 27.
Christian Navarro in '13 Reasons Why'
Christian Navarro’s Tony was probably the most mysterious character in Season 1 of “13 Reasons Why.” He almost only appeared in scenes alone with Clay, constantly made vague and enigmatic comments, and looked way too old to be in high school, sparking fan theories that he was some kind of ghost or hallucination. Some of this mystery was surely intentional, but you have to wonder if the producers might have wished they had cast an actor younger than 26 for the role.
Jeff Conaway in 'Grease'
Let’s be honest, all of the actors playing our favorite Rydell High students would be right at home on this list, but a couple of them stand above the rest. One of those is Jeff Conaway, who played the T-Birds’ resident street racer Kenickie. Conaway was going on 28 when “Grease” premiered in 1978, but his forehead lines made him look even older. Conaway isn’t even the movie’s worst offender, though. That honor goes to…
Stockard Channing in 'Grease'
Admittedly, the role of the Pink Ladies’ leader Betty Rizzo required a jaded world-weariness that most teens don’t possess, and Stockard Channing knocked her performance out of the park, but were we really supposed to believe that the 33-year-old was a high school senior? You can’t help but feel that Rizzo’s teen pregnancy scare would have been more impactful if the character were portrayed by an actual teenager.
Maya Erskine and Anna Konkle in 'PEN15'
Hulu’s new comedy series “PEN15” turns the idea of age-inappropriate casting on its head. In one sense, the show is among the best at casting actors the right age for their characters, as most of its middle school characters are played by real middle schoolers. On the other hand, creators and stars Maya Erskine and Anna Konkle are both 32 and play 13-year-old versions of themselves, providing the source of most of the show’s humor.