20 Iconic Teenage Roles Played by Actors Who Were Significantly Older

Jessica Wilson

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. 

#1 Darren Barnet in 'Never Have I Ever' (2020-)


teenage roles played by older actorsSource: 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-)


teenage roles played by older actorsSource: 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)


teenage roles played by older actorsSource: 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)


teenage roles played by older actorsSource: 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-)


teenage roles played by older actorsSource: 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)


teenage roles played by older actorsSource: 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)


teenage roles played by older actorsSource: 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)


teenage roles played by older actorsSource: 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.