The casting process in Hollywood has always had flaws. White actors play people of color, straight males play the lead in LGBTQ+ narratives, and actors who graduated high school a decade ago play teenagers. Tinseltown is attempting to improve, but older actors continue to play teenagers. Why? Marcia Ross, who cast 10 Things I Hate About You (1999) and Clueless (1995), explained to Teen Vogue 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."
Yes, the answer isn't as shocking as you think, so it'll probably continue. But don't get us wrong: some actors on this list made their show or movie completely timeless. (Like, Chace Crawford from Gossip Girl, for example). What would our adolescence have been like if we didn't have a large number of hot 20-somethings moping around on our television screens every week? There are iconic teenage roles played by older actors.
Here are 20 actors who are a little too old to play high school students on the big screen. Check out iconic actors for teenagers.
One of Mindy Kaling's Netflix breakout hits, Never Have I Ever, has a love interest who is shockingly older than the 16-year-old he is supposed to be. When the show debuted, Darren Barnet, who played Paxton Hall-Yoshida, was 29 years old.
The Netflix show about a 16-year-old boy who establishes an underground sex therapy clinic at school would be less entertaining if Eric (Ncuti Gatwa) wasn't in it. Even if it means a 26-year-old playing a teenager.
While filming the first season of 13 Reasons Why, Ross Butler, who plays high school student Zach Dempsey, was 27 years old. He previously appeared on Riverdale but left after a season to take on this role.
Saoirse Ronan, then 23, was nominated for an Academy Award for her performance in Lady Bird, in which she played a 17-year-old teen living in Sacramento, California.
If you have hair that good, it doesn't matter if you're 26 years old and portraying a high school student. It works!
Carey Mulligan portrayed the stunning 17-year-old Daisy Buchanan. The fact that Mulligan was 28 years old didn't really matter to us; we were more focused on all the vintage clothing she wore.
I could talk about the best Spider-Man and why all day long, but that conversation is best saved for another occasion. At the age of 27, Garfield adopted the character of the high school superhero.
For the majority of the mystery teen drama, Lawson portrayed Emily Fields' love interest, 17-year-old Maya St. Germain. Lawson was 31 years old when she took on the role!
Troian Bellisario, 24, played Spencer Hastings, a junior in high school. She was present at Meghan and Harry's royal wedding!
We'll never understand how Ryan Murphy tricked us all into thinking a 27-year-old Cory Monteith could pass for a high schooler. Those musical numbers would not have been as good without him.
As we count down the days until the HBO Max reboot of Gossip Girl, we'll remember that 22-year-old Chace Crawford played high school junior, Nate Archibald.
When he played Miley Cyrus' older brother in the hit 'Hannah Montana', he was 29 years old. His character was only 16 years old, can you believe it?
Monique first appeared in the HSM franchise as Taylor McKessie in the first film when she was 27 years old. If that doesn't sound strange, consider that in the first film, Vanessa Hudgens was 18 and Zac Efron was 19.
Joe Heder, who was 26 years old, was mixed up for a high school student due to his glasses, his overly retro wardrobe, and his pet llama.
When Rachel McAdams was 25 years old, she portrayed the most famous high school mean girl. That is so cool!
This one was made easier by Leo's baby face. At the age of 28, he played Frank Abagnale Jr., a 17-year-old successful bank robber in Steven Spielberg's Catch Me If You Can.
Okay, let's get back to his role on Smallville since you might have had a crush on him from his time in the Cheaper By the Dozen series. Tom Welling, who is 24 years old, was cast as Clark Kent, who was supposed to be 14 years old.
You might recognize her as Dionne Marie Davenport, Cher Horowitz's best friend in the 1995 film Clueless. Dash played the iconic role when she was 28 years old, making her more than a decade older than her character.
So there isn't an age limit for being dumped on with a bucket of pig's blood at your senior prom! Sissy Spacek, who plays the iconic horror character, took on the role at the age of 29.
Henry Winkler was 29 when Happy Days premiered, introducing the world to the ultimate teenage greaser, the Fonze. He was nearly 40 years old by the time the show ended.
Yes, the answer isn't as shocking as you think, so it'll probably continue. But don't get us wrong: some actors on this list made their show or movie completely timeless. (Like, Chace Crawford from Gossip Girl, for example). What would our adolescence have been like if we didn't have a large number of hot 20-somethings moping around on our television screens every week? There are iconic teenage roles played by older actors.
Here are 20 actors who are a little too old to play high school students on the big screen. Check out iconic actors for teenagers.
#1 Darren Barnet in 'Never Have I Ever' (2020-)
Source: Rotten Tomatoes
One of Mindy Kaling's Netflix breakout hits, Never Have I Ever, has a love interest who is shockingly older than the 16-year-old he is supposed to be. When the show debuted, Darren Barnet, who played Paxton Hall-Yoshida, was 29 years old.
#2 Ncuti Gatwa in 'Sex Education' (2019-)
Source: Digital Spy
The Netflix show about a 16-year-old boy who establishes an underground sex therapy clinic at school would be less entertaining if Eric (Ncuti Gatwa) wasn't in it. Even if it means a 26-year-old playing a teenager.
#3 Ross Butler in '13 Reasons Why' (2017–2020)
Source: Pinterest
While filming the first season of 13 Reasons Why, Ross Butler, who plays high school student Zach Dempsey, was 27 years old. He previously appeared on Riverdale but left after a season to take on this role.
#4 Saoirse Ronan in 'Lady Bird' (2017)
Source: Pinterest
Saoirse Ronan, then 23, was nominated for an Academy Award for her performance in Lady Bird, in which she played a 17-year-old teen living in Sacramento, California.
#5 Joe Keery in 'Stranger Things' (2016-)
Source: Pinterest
If you have hair that good, it doesn't matter if you're 26 years old and portraying a high school student. It works!
#6 Carey Mulligan in 'The Great Gatsby' (2013)
Source: Pinterest
Carey Mulligan portrayed the stunning 17-year-old Daisy Buchanan. The fact that Mulligan was 28 years old didn't really matter to us; we were more focused on all the vintage clothing she wore.
#7 Andrew Garfield in 'The Amazing Spider-Man' (2012)
Source: Pinterest
I could talk about the best Spider-Man and why all day long, but that conversation is best saved for another occasion. At the age of 27, Garfield adopted the character of the high school superhero.
#8 Bianca Lawson on 'Pretty Little Liars' (2010-2017)
Source: IMDb
For the majority of the mystery teen drama, Lawson portrayed Emily Fields' love interest, 17-year-old Maya St. Germain. Lawson was 31 years old when she took on the role!
#9 Troian Bellisario in 'Pretty Little Liars' (2010-2017)
Source: Pinterest
Troian Bellisario, 24, played Spencer Hastings, a junior in high school. She was present at Meghan and Harry's royal wedding!
#10 Cory Monteith in 'Glee' (2009-2015)
Source: Glee - WordPress.com
We'll never understand how Ryan Murphy tricked us all into thinking a 27-year-old Cory Monteith could pass for a high schooler. Those musical numbers would not have been as good without him.
#11 Chace Crawford in 'Gossip Girl' (2007-2012)
Source: IMDb
As we count down the days until the HBO Max reboot of Gossip Girl, we'll remember that 22-year-old Chace Crawford played high school junior, Nate Archibald.
#12 Jason Earles in 'Hannah Montana' (2006-2011)
Source: Twitter
When he played Miley Cyrus' older brother in the hit 'Hannah Montana', he was 29 years old. His character was only 16 years old, can you believe it?
#13 Monique Coleman in 'High School Musical' (2006)
Source: Cosmopolitan
Monique first appeared in the HSM franchise as Taylor McKessie in the first film when she was 27 years old. If that doesn't sound strange, consider that in the first film, Vanessa Hudgens was 18 and Zac Efron was 19.
#14 Jon Heder in 'Napoleon Dynamite' (2004)
Source: Bustle
Joe Heder, who was 26 years old, was mixed up for a high school student due to his glasses, his overly retro wardrobe, and his pet llama.
#15 Rachel McAdams in 'Mean Girls' (2004)
Source: Twitter
When Rachel McAdams was 25 years old, she portrayed the most famous high school mean girl. That is so cool!
#16 Leonardo DiCaprio in 'Catch Me If You Can' (2002)
Source: Yahoo Autos
This one was made easier by Leo's baby face. At the age of 28, he played Frank Abagnale Jr., a 17-year-old successful bank robber in Steven Spielberg's Catch Me If You Can.
#17 Tom Welling in 'Smallville' (2001-2011)
Source: WireImage Presents Tom Welling
Okay, let's get back to his role on Smallville since you might have had a crush on him from his time in the Cheaper By the Dozen series. Tom Welling, who is 24 years old, was cast as Clark Kent, who was supposed to be 14 years old.
#18 Stacey Dash in 'Clueless' (1995)
Source: Pinterest
You might recognize her as Dionne Marie Davenport, Cher Horowitz's best friend in the 1995 film Clueless. Dash played the iconic role when she was 28 years old, making her more than a decade older than her character.
#19 Sissy Spacek in 'Carrie' (1976)
Source: Pinterest
So there isn't an age limit for being dumped on with a bucket of pig's blood at your senior prom! Sissy Spacek, who plays the iconic horror character, took on the role at the age of 29.
#20 Henry Winkler in 'Happy Days' (1974-1984)
Source: Pinterest
Henry Winkler was 29 when Happy Days premiered, introducing the world to the ultimate teenage greaser, the Fonze. He was nearly 40 years old by the time the show ended.