Celebrity news, beauty, fashion advice, and fascinating features, delivered straight to your inbox!
Thank you for signing up to . You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.
The Hollywood casting process has always been flawed. You have white actors playing people of color, straight males playing the lead in LGBTQ+ narratives (opens in new tab), and actors who have graduated from high school a decade ago playing teenagers. Tinseltown is trying to be better, but older actors are still playing teenagers. Why? Marcia Ross—who cast 10 Things I Hate About You (opens in new tab) (1999) and Clueless (opens in new tab) (1995)—explained to Teen Vogue (opens in new tab) in 2017 that "actors under the age of 18 need to have guardians on set and work a limited set of hours because of schooling."
Yeah, the answer isn't as scandalous as you think, so it will probably keep happening. We're not hating, though—some of the actors on this list made their show or movie totally timeless. (I'm talking about you, Chace Crawford in Gossip Girl (opens in new tab).) What would our adolescence years have been like if we didn't have a bunch of hot 20-somethings moping around on our TV screens every week? I'm shuddering at the thought. Ahead, 40 actors a little too old to be playing high school kids on the big screen.
Stacey Dash in 'Clueless' (1995)
You may recognize her as Dionne Marie Davenport, the best friend to Cher Horowitz in the 1995 hit Clueless (opens in new tab). Dash was 28 years old when she played the iconic role, making her more than a decade older than her character.
Leonardo DiCaprio in 'Catch Me If You Can' (2002)
Leo's baby face helped him out with this one. In the Steven Spielberg film Catch Me If You Can, he played Frank Abagnale Jr., a 17-year-old successful bank robber, at the age of 28.
Kerr Smith in 'Dawson's Creek' (1998-2003)
Oh, teen dramas and love triangles (opens in new tab)! Kerr Smith played 16-year-old Jack McPhee in the famous series Dawson's Creek, set in the Massachusetts town of Capeside, when he was 26 years old.
Sissy Spaeck in 'Carrie' (1976)
So, there's actually no age restriction for when you can get dumped on with a bucket of pig's blood at your senior prom! Sissy Spaeck, who plays the iconic horror character, was 29 years old when she took on the role.
Adam Brody in 'The O.C.' (2003-2007)
Somehow Adam Brody got away with playing unpopular high school sophomore Seth Cohen at 23 years old, and we're thankful for that. Orange County (opens in new tab) would not be the same.
Stockard Channing in 'Grease' (1978)
Rizzo (Stockard Channing) went through a pregnancy scare, dealt with scummy dudes, and lead the Pink Ladies (opens in new tab) during her senior year of high school. Anyone who could've done all that probably wasn't 17. In fact, Channing was 33 years old while playing the role.
Darren Barnet in 'Never Have I Ever' (2020-)
One of the love interests in Mindy Kaling's Netflix breakout hit (opens in new tab), Never Have I Ever, is shockingly way older than the 16-year-old he is supposed to be. Darren Barnet, who plays Paxton Hall-Yoshida, was 29 years old when the show aired.
Bianca Lawson on 'Pretty Little Liars' (2010-2017)
Lawson played 17-year-old Maya St. Germain, Emily's Fields' love interest, for a good majority of the mystery teen-drama (opens in new tab). I need her skincare routine because Lawson was 31 years old when she played the role.
Alan Ruck in 'Ferris Bueller’s Day Off' (1986)
A 30-year-old playing a high school senior who decides to play hooky for the day, and we just realized it? A win for baby-faced guys everywhere.
Gabrielle Union in 'Bring It On' (2008)
The queen of never aging: Gabrielle Union, everyone! The actress played the head cheerleader at the rival high school when she was 28 years old.
Henry Winkler in 'Happy Days' (1974-1984)
Henry Winkler was 29 years old when Happy Days debuted and the world was introduced to the ultimate teenage greaser, the Fonze. By the time the show ended, he was almost 40.
Megan Park in 'Secret Life of the American Teenager' (2008-2013)
The drama about what happens to a group of friends and family when a 15-year-old gets pregnant was shocking for its time! What's even wilder is how we were supposed to think Park, 22 years old when it aired, was that age.
Rachel McAdams in 'Mean Girls' (2004)
The most iconic high school mean girl (opens in new tab) was played by Rachel McAdams when she was 25 years old. That's so fetch!
Cory Monteith in 'Glee' (2009-2015)
How Ryan Murphy tricked all of us into believing a 27-year-old Cory Monteith could pass for a high schooler, I'll never know. Those musical numbers wouldn't have been as great without him, though.
Ncuti Gatwa in 'Sex Education' (2019-)
The Netflix show about a 16-year-old boy who sets up an underground sex therapy clinic at school wouldn't be as fun if Eric (Ncuti Gatwa) wasn't in it. Even if that means a 26-year-old plays a teenager.
Kenny Wormald in 'Footloose' (2011)
The Footloose reboot featured just as many great dance numbers as the original and a lead actor who was a decade older than the character he was supposed to play in real life.
Ingrid Bergman in 'Joan of Arc' (1948)
Here's some retro film history for you! Bergman was a 33-year-old well-established actress when she was cast to play the 14-year-old-religious teenager.
Joe Keery in 'Stranger Things' (2016-)
It doesn't matter if you're a 26-year-old playing a teenager in high school if you have hair as good as Keery's. It works!
Gabrielle Carteris in 'Beverly Hills, 90210' (1990-2000)
The O.G. teenage drama (opens in new tab) made a name for itself during its 10 seasons. It featured a range of talented actors like 29-year-old Gabrielle Carteris, who played 16-year-old Andrea Zuckerman.
Chad Michael Murray in 'One Tree Hill' (2003-2009, 2012)
TBT to when it was 2003, and your biggest problem was which Scott brother (opens in new tab) you liked more. Chad Michael Murray was 22 years old when the pilot about a group of teenagers in a small North Carolina town aired.
Troian Bellisario in 'Pretty Little Liars' (2010-2017)
Spencer Hastings, a junior in high school, was played by 24-year-old Troian Bellisario. Fun fact: She attended Meghan and Harry's royal wedding! (opens in new tab)
Chace Crawford in 'Gossip Girl' (2007-2012)
As we count down the days until the Gossip Girl reboot on HBO Max, we'll reflect on the fact that high school junior Nate Archibald was played by 22-year-old Chace Crawford.
Chase Stokes in 'Outer Banks' (2020-)
While I wish my summers were filled with searching for lost treasure, I'll have to stick to watching Netflix's Outer Banks (opens in new tab). The lead John B, a high school junior, is played by Stokes, who's 10 years older than his character.
Andrew Garfield in 'The Amazing Spider-Man' (2012)
I could chat all day long about who's the best Spider-Man and why, but that's for another time. When Garfield took on the role of the high school superhero, he was 27 years old.
Keiko Agena in 'Gilmore Girls' (2000-2007)
Keiko Agena must have found the fountain of youth because she got cast at age 27 to play Rory Gilmore (opens in new tab)'s 16-year-old best friend, Lane Kim.
Saoirse Ronan in 'Lady Bird' (2017)
Saoirse Ronan, then 23 years old, was nominated for an Oscar for her role in Lady Bird (opens in new tab), where she played a 17-year-old teenager living in Sacramento, California.
Nicholas Brendon in 'Buffy the Vampire Slayer' (1997-2003)
I guess anything goes when it comes to '90s television (opens in new tab), like casting a 26-year-old Nicholas Brendon to play high school sophomore, Xander. I don't know any teenagers with that kind of facial hair.
Jason Earles in 'Hannah Montana' (2006-2011)
The Disney Channel actor was 29 years old when he played Miley Cyrus’ older brother in the hit show about a teenage rock star with a secret identity. When I say older, I mean 16 years old, but honestly...I kinda buy it?
Tom Welling in 'Smallville' (2001-2011)
Alright, you may have had a crush on this man from his time in the Cheaper By the Dozen franchise, but let's go back to his role on Smallville. Clark Kent was supposed to be 14 years old, yet they cast 24-year-old Tom Welling. (We aren't complaining.)
Parminder Nagra in 'Bend It Like Beckham' (2002)
Parminder Nagra was 27 years old when she played the film’s 18-year-old main character who wants to follow her dream of becoming a professional soccer player despite her parents' traditional outlook on life.
Monique Coleman in 'High School Musical' (2006)
We first met Monique as Taylor McKessie in the first movie of the HSM franchise when she was 27 years old. If that doesn't sound weird, just know Vanessa Hudgens (opens in new tab) was 18 and Zac Efron was 19 in the first film.
Barbra Streisand in 'Yentl' (1983)
I'm as big a Streisand fan as the next person, but I can't get over the fact that she played a 20-year-old Yeshiva school student when she was 41 years old. She did win a Golden Globe for the film, though, so it was for a good cause!
Carey Mulligan in 'The Great Gatsby' (2013)
Carey Mulligan played the ever-so-beautiful 17-year-old Daisy Buchanan. We were more obsessed with all of the vintage outfits Mulligan wore, and less about the fact that she was 28 years old.
Sean Patrick Thomas in 'Save the Last Dance' (2001)
It doesn't matter that a then-30-year-old Patrick Thomas played a character in high school because the man could dance.
Taylor Kitsch in 'Friday Night Lights' (2006-2011)
A 28-year-old Taylor Kitsch played high school junior Tim Riggins in Friday Night Lights, and I wouldn't have had it any other way. Go Panthers!
Ross Butler in '13 Reasons Why' (2017–2020)
Ross Butler, who plays high school student Zach Dempsey, was 27 years old while filming the first season of 13 Reasons Why. He was previously on Riverdale, but left the show after one season to take on this role.
Ellen Wong in 'The Carrie Diaries' (2013-2014)
Forever in mourning that this show was canceled after two seasons, and endlessly amazed that a 28-year-old Ellen Wong was able to pass as a junior in high school.
Jon Heder in 'Napoleon Dynamite' (2004)
Perhaps it was the glasses, the excessive retro clothing, or the pet llama, but Joe Heder passed as a high school student at 26 years old.
Bianca Rodriguez is the Fashion & Luxury Commerce Manager at Hearst Magazines, covering fashion, beauty, and more for Cosmopolitan, Elle, Esquire, Harper’s BAZAAR, and Town & Country. She likes lounging about with a good book and thinks a closet without platform sneakers is a travesty.