Actors Who Were Clearly Too Old to Play High School Students

Our Editorial Policy.

Share:

Casting directors often prioritize talent and experience over age accuracy when selecting actors for teenage roles. This leads to situations where grown men in their twenties or thirties portray high school students. Audiences frequently overlook these age discrepancies because of the compelling performances delivered by these stars. The trend has become a staple in Hollywood for both television dramas and blockbuster movies. Here are some of the most notable male actors who played high schoolers while being significantly older.

Alan Ruck

Alan Ruck
TMDb

Alan Ruck famously portrayed the neurotic teenager Cameron Frye in the classic film ‘Ferris Bueller’s Day Off’. He was twenty-nine years old when he took on the role of the high school senior. His youthful appearance and chemistry with Matthew Broderick helped him pull off the character convincingly. Ruck was actually twelve years older than his on-screen girlfriend Mia Sara.

Ben Platt

Ben Platt
TMDb

Ben Platt reprised his Broadway role for the film adaptation of ‘Dear Evan Hansen’ at the age of twenty-seven. The actor faced significant criticism for appearing much older than a standard high school student. The production team used makeup and lighting to try and de-age him for the screen. Despite his vocal talents remaining perfect for the part, the visual age gap distracted many viewers.

Jason Earles

Jason Earles
TMDb

Jason Earles played the teenage brother Jackson Stewart on the Disney Channel hit ‘Hannah Montana’. He was twenty-nine years old when the show premiered and portrayed a sixteen-year-old character. Earles possessed a naturally youthful look that allowed him to blend in with his much younger co-stars. He was actually well into his thirties by the time the series concluded its run.

Henry Winkler

Henry Winkler
TMDb

Henry Winkler became a cultural icon as Arthur Fonzarelli in the sitcom ‘Happy Days’. He was twenty-eight years old when he began playing the cool high school dropout. The Fonz was intended to be a contemporary of the teenage Richie Cunningham. Winkler brought a maturity to the role that made his character seem like a seasoned mentor figure.

Andrew Garfield

Andrew Garfield
TMDb

Andrew Garfield stepped into the role of Peter Parker in ‘The Amazing Spider-Man’ at the age of twenty-eight. He played a high school science whiz who gains superpowers after a spider bite. Garfield captured the awkward energy of a teenager despite being a decade out of high school. His lean physique helped sell the illusion of a younger physicality.

Tobey Maguire

Tobey Maguire
TMDb

Tobey Maguire was twenty-six years old when he first donned the mask in Sam Raimi’s ‘Spider-Man’. The script required him to play a high school senior dealing with bullies and puberty. Maguire delivered a performance that emphasized the vulnerability and innocence of Peter Parker. He continued to play the character well into his thirties in the subsequent sequels.

Luke Perry

Luke Perry
TMDb

Luke Perry became a quintessential teen heartthrob as Dylan McKay on ‘Beverly Hills, 90210’. He was twenty-four years old when he started playing the brooding sixteen-year-old loner. His receding hairline and mature features made him look significantly older than a sophomore. Perry nevertheless defined the bad boy trope for an entire generation of television viewers.

Ian Ziering

Ian Ziering
TMDb

Ian Ziering co-starred with Luke Perry on ‘Beverly Hills, 90210’ as the energetic Steve Sanders. He was twenty-six years old when the series began filming. Ziering was one of the oldest cast members playing a high school junior. His character remained in the high school setting for several seasons before graduating.

Cory Monteith

Cory Monteith
TMDb

Cory Monteith starred as the quarterback Finn Hudson in the musical series ‘Glee’. He was twenty-seven years old when the show launched and he played a sixteen-year-old sophomore. Monteith had a boyish charm that helped mask the age difference. His character was central to the high school narrative for the first four seasons.

Harry Shum Jr.

Harry Shum Jr.
TMDb

Harry Shum Jr. played the dancer Mike Chang on the hit show ‘Glee’. He was twenty-seven years old when he joined the cast as a high school student. His incredible physical agility and dancing skills were the focus of his character. He was well into his thirties by the time his character finally graduated.

Mark Salling

Mark Salling
TMDb

Mark Salling portrayed the delinquent football player Noah Puckerman on ‘Glee’. He was twenty-seven years old when he began playing the fifteen-year-old character. Salling had a rugged appearance that made him look much tougher than the average freshman. The show often made jokes about how some students appeared older than others.

Tom Welling

Tom Welling
TMDb

Tom Welling played the young Clark Kent in the superhero drama ‘Smallville’. He was twenty-four years old when he started playing the fourteen-year-old high school freshman. Welling was taller and more muscular than any actual teenager would typically be. He spent four seasons in the high school setting before the show moved on to his adult years.

Kerr Smith

Kerr Smith
TMDb

Kerr Smith played Jack McPhee in the teen drama ‘Dawson’s Creek’. He was twenty-six years old when he began portraying the sixteen-year-old sophomore. His character was pivotal to the show as he navigated complex personal storylines in a high school setting. Smith was actually older than James Van Der Beek and Joshua Jackson.

Michael J. Fox

Michael J. Fox
TMDb

Michael J. Fox is iconic for his role as Marty McFly in ‘Back to the Future’. He was twenty-four years old while playing the seventeen-year-old skateboarder. His short stature and high energy allowed him to embody the teenage spirit perfectly. Fox famously filmed the movie at night while shooting a sitcom during the day.

Kevin Bacon

Kevin Bacon
TMDb

Kevin Bacon starred as the rebellious teenager Ren McCormack in the film ‘Footloose’. He was twenty-five years old when he played the high school transfer student. Bacon had to convey the angst and energy of a teen fighting against a town that banned dancing. His physical fitness allowed him to perform the demanding dance numbers convincingly.

John Travolta

John Travolta
TMDb

John Travolta played the leader of the T-Birds in the musical ‘Grease’. He was twenty-four years old when he portrayed the high school student Danny Zuko. Travolta had already achieved fame and brought a mature swagger to the role. The entire cast was notably older than the high schoolers they were supposed to represent.

Michael Tucci

Michael Tucci
TMDb

Michael Tucci played T-Bird member Sonny LaTierri in ‘Grease’. He was thirty-one years old during the filming of the high school musical. Tucci was one of the oldest actors in the main cast of students. His receding hairline and mature face made the age discrepancy quite obvious to viewers.

Judd Nelson

Judd Nelson
TMDb

Judd Nelson played the criminal John Bender in ‘The Breakfast Club’. He was twenty-five years old when he portrayed the detention-bound high schooler. Nelson effectively captured the rebellious and troubled nature of the character. His improvisational skills added depth to a role that required a mix of aggression and vulnerability.

Chase Stokes

Chase Stokes
TMDb

Chase Stokes broke out as the lead in the Netflix series ‘Outer Banks’. He was twenty-seven years old when he began playing the sixteen-year-old John B. Stokes looked significantly more developed than a typical teenager living on the coast. The casting worked because of the adventurous and dangerous tone of the show.

Darren Barnet

Darren Barnet
TMDb

Darren Barnet played the popular swimmer Paxton Hall-Yoshida in ‘Never Have I Ever’. He was twenty-nine years old when he took on the role of the sixteen-year-old heartthrob. His character was the object of the protagonist’s affection throughout high school. Barnet became a thirty-year-old playing a high schooler by the second season.

Ross Butler

Ross Butler
TMDb

Ross Butler played the jock Zach Dempsey in the series ’13 Reasons Why’. He was twenty-six years old when he started playing the high school student. Butler also played a teenager in the show ‘Riverdale’ around the same time. His tall stature and deep voice gave him a commanding presence in the high school hallways.

Timothy Granaderos

Timothy Granaderos
TMDb

Timothy Granaderos played the aggressive bully Monty de la Cruz in ’13 Reasons Why’. He was thirty years old when the first season of the show aired. Granaderos was playing a high school student despite being a full decade older than his character. His performance was intense enough that viewers focused on the drama rather than his age.

Paul Wesley

Paul Wesley
TMDb

Paul Wesley starred as Stefan Salvatore in ‘The Vampire Diaries’. He was twenty-seven years old while playing a vampire pretending to be a seventeen-year-old student. The supernatural premise of the show helped explain his mature appearance. He spent several seasons attending classes and participating in high school events.

Charles Melton

Charles Melton
TMDb

Charles Melton took over the role of Reggie Mantle in the drama ‘Riverdale’. He was twenty-seven years old when he began playing the high school sophomore. Melton replaced a younger actor and brought a more mature look to the football captain. He continued in the role until the show eventually jumped forward in time.

Trevor Donovan

Trevor Donovan
TMDb

Trevor Donovan played the tennis star Teddy Montgomery in the reboot ‘90210’. He was twenty-eight years old when he started playing the sixteen-year-old character. Donovan was widely noted for looking much older than his classmates. He was thirty-three years old by the time his character finally graduated from West Beverly High.

Jon Heder

Jon Heder
TMDb

Jon Heder starred as the awkward title character in ‘Napoleon Dynamite’. He was twenty-six years old when he played the high school nerd. Heder transformed his appearance with a perm and glasses to fit the role. The low-budget indie film relied on his unique mannerisms to sell the character’s youth.

Leonardo DiCaprio

Leonardo DiCaprio
TMDb

Leonardo DiCaprio starred as Frank Abagnale Jr. in ‘Catch Me If You Can’. He was twenty-eight years old when he played the character during his high school years. The film spans several years of Frank’s life but begins when he is just sixteen. DiCaprio used his youthful face and acting range to make the deception believable.

Jesse Metcalfe

Jesse Metcalfe
TMDb

Jesse Metcalfe played the cheating basketball star in ‘John Tucker Must Die’. He was twenty-seven years old when he portrayed the most popular guy in high school. Metcalfe had previously played a teen gardener on ‘Desperate Housewives’. His character was the center of a revenge plot orchestrated by his high school classmates.

Taylor Kitsch

Taylor Kitsch
TMDb

Taylor Kitsch played the troubled running back Tim Riggins in ‘Friday Night Lights’. He was twenty-five years old when he began playing the high school sophomore. Kitsch looked physically dominant and much older than a typical fifteen-year-old. His mature appearance suited the heavy drinking and dark storylines of the character.

Ncuti Gatwa

Ncuti Gatwa
TMDb

Ncuti Gatwa played the vibrant Eric Effiong in the series ‘Sex Education’. He was twenty-six years old when he started playing the sixteen-year-old student. Gatwa brought a high energy to the role that matched the chaotic nature of adolescence. He remained convincing as a student throughout the multiple seasons of the show.

Ben McKenzie

Ben McKenzie
TMDb

Ben McKenzie starred as Ryan Atwood in the teen drama ‘The O.C.’. He was twenty-four years old when he was cast as the sixteen-year-old protagonist. McKenzie often joked later about how he looked much older than a high schooler. His brooding performance anchored the show despite his mature appearance.

Channing Tatum

Channing Tatum
TMDb

Channing Tatum starred as an undercover cop in the comedy ’21 Jump Street’. He was thirty-one years old when he played a character pretending to be a high school student. The movie used his obvious age and maturity as a running joke throughout the plot. Tatum played the role with a self-awareness that made the absurdity hilarious.

Jonah Hill

Jonah Hill
TMDb

Jonah Hill co-starred with Channing Tatum in ’21 Jump Street’. He was twenty-eight years old when he went back to high school for the undercover operation. His character was supposed to be a few years out of school but looked significantly older. Hill and Tatum played off the fact that they clearly did not blend in with modern teens.

Paul Rudd

Paul Rudd
TMDb

Paul Rudd played the dramatic teenager Andy in ‘Wet Hot American Summer’. He was thirty-two years old while playing the high school camp counselor. The film was a parody that intentionally cast older actors in teenage roles for comedic effect. Rudd leaned into the angst and tantrums typical of a much younger character.

Matthew Broderick

Matthew Broderick
TMDb

Matthew Broderick played the title character in ‘Ferris Bueller’s Day Off’. He was twenty-three years old when he portrayed the high school senior. Broderick had a boyish charm that made him the perfect choice for the truant teenager. He successfully carried the film and convinced audiences he was just a kid looking for fun.

Thomas F. Wilson

Thomas F. Wilson
TMDb

Thomas F. Wilson played the bully Biff Tannen in ‘Back to the Future’. He was twenty-six years old when he played the teenager in the 1955 timeline. Wilson was actually older than Michael J. Fox and Crispin Glover. He used makeup to play the older version of the character in the 1985 scenes.

Ralph Macchio

Ralph Macchio
TMDb

Ralph Macchio starred as Daniel LaRusso in the martial arts drama ‘The Karate Kid’. He was twenty-two years old when he played the high school student. Macchio is a rare example of an actor who was older but looked genuinely young enough for the part. He continued to play the teenager in sequels well into his late twenties.

Skeet Ulrich

Skeet Ulrich
TMDb

Skeet Ulrich played the mysterious boyfriend Billy Loomis in the horror film ‘Scream’. He was twenty-six years old when he portrayed the high school senior. Ulrich brought an intensity to the role that required a certain level of maturity. He was significantly older than his on-screen girlfriend Neve Campbell.

Matthew Lillard

Matthew Lillard
TMDb

Matthew Lillard played the eccentric Stu Macher in the slasher hit ‘Scream’. He was twenty-six years old when he played the high school student. Lillard delivered a manic performance that became a highlight of the movie. He and Skeet Ulrich were both grown men terrorizing a high school town.

Ryan Phillippe

Ryan Phillippe
TMDb

Ryan Phillippe starred as the manipulative Sebastian Valmont in ‘Cruel Intentions’. He was twenty-four years old when he played the wealthy high school senior. Phillippe had a polished and sophisticated look that fit the upper-class setting. His character dealt with adult themes that matched his actual age more than his character’s age.

Share your favorite example of an obviously older actor playing a teen in the comments.

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments