Whether you blame good genes, great skincare, or questionable casting decisions, it's a truth of Hollywood that some of the most popular teen characters in movies and on TV are actually played by actors a decade or more out of high school. Some are able to pull off the fresh-faced teen look perfectly (can you believe Bianca Lawson, who played Maya St. Germain on "Pretty Little Liars," is 33?), but others are clearly way too old to hang out around high schools anymore. Like Bianca, Paul Wesley from "The Vampire Diaries" is also a decade older than his character -- but we definitely knew it from one look at him.

We give props to MTV shows like "Teen Wolf" and "Awkward" for doing a good job of casting actors into age-appropriate roles, but other hits -- "Glee," we're looking at you -- are repeat offenders when it comes to casting older actors. And movies like "Twilight" and "High School Musical" are often no better. Click through the slideshow below for 27 actors in their 20s and 30s who play teen characters.

How do you feel about actors and actresses twice your age playing high school kids? Sound off in the comments below or tweet @HuffPostTeen!

Loading Slideshow...
  • Jason Earles

    In 2006, he played 15-year-old Jackson Stewart on <em>Hannah Montana</em> when he was 29 years old. Age difference: 14 years

  • Andrew Garfield

    In 2012, he played 17-year-old Peter Parker/Spider-Man in <em>The Amazing Spider-Man</em> when he was 28 years old. Age difference: 11 years

  • Cory Monteith

    In 2009, he played 15-year-old Finn Hudson on <em>Glee</em> when he was 27 years old. Age difference: 12 years

  • Paul Wesley

    In 2009, he played 17-year-old (or 165-year-old) Stefan Salvatore on <em>The Vampire Diaries</em> when he was 27 years old. Age difference: 10 years

  • Rachel McAdams

    In 2004, she played 16-year-old Regina George on <em>Mean Girls</em> when she was 26 years old. Age difference: 10 years

  • Mark Salling

    In 2009, he played 15-year-old Noah "Puck" Puckerman on <em>Glee</em> when he was 27 years old. Age difference: 12 years

  • Harry Shum Jr.

    In 2009, he played 15-year-old Mike Chang on <em>Glee</em> when he was 27 years old. Age difference: 12 years

  • Tyler Blackburn

    In 2010, he played 16-year-old Caleb Rivers on <em>Pretty Little Liars</em> when he was 24 years old. Age difference: 8 years

  • Michael Trevino

    In 2009, he played 17-year-old Tyler Lockwood on <em>The Vampire Diaries</em> when he was 24 years old. Age difference: 8 years

  • Tammin Sursok

    In 2010, she played 16-year-old Jenna Marshall on <em>Pretty Little Liars</em> when he was 27 years old. Age difference: 11 years

  • James Van Der Beek

    In 1998, then 21-year-old Van Der Beek played 15-year-old Dawson Leary in <em>Dawson's Creek</em>. Age difference: 6 years

  • Robert Pattinson

    In 2012, he will play 17-year-old (or 107-year-old) Edward Cullen in <em>Twilight</em> when he is 26 years old. Age difference: 9 years

  • Benjamin McKenzie

    In 2003, he played 15-year-old Ryan Atwood on <em>The O.C.</em> when he was 25 years old. Age difference: 10 years

  • Kerr Smith

    In 1998, he played 15-year-old Jack McPhee on <em>Dawson's Creek</em> when he was 26 years old. Age difference: 11 years

  • Alan Ruck

    In 1986, he played 17-year-old Cameron Frye in <em>Ferris Bueller's Day Off</em> when he was 30 years old. Age difference: 13 years

  • Monique Coleman

    In 2006, she played 16-year-old Taylor McKessie in <em>High School Musical</em> when she was 26 years old. Age difference: 10 years

  • Ian Ziering

    At 26 years old, Ziering played a 17 or 18-year-old senior at West Beverly High School in <em>90210</em>. Age difference: 8-9 years

  • Stockard Channing

    In 1978, she played 17-year-old Betty Rizzo in <em>Grease</em> when she was 34 years old. Age difference: 17 years

  • Amber Tamblyn

    In 2005, she played 15-year-old Tibby Tomko-Rollins in <em>The Sisterhood of the Traveling Pants</em> when she was 22 years old. Age difference: 7 years

  • Troian Bellisario

    In 2010, she played 16-year-old Spencer Hastings on <em>Pretty Little Liars</em> when she was 25 years old. Age difference: 9 years

  • Penn Badgley

    In 2010, he played 17-year-old "Woodchuck" Todd in <em>Easy A</em> when he was 24 years old. Age difference: 7 years

  • Alexandra Chando

    In 2011, she played 17-year-old twins Emma Becker and Sutton Mercer on <em>The Lying Game</em> when she was 25 years old. Age difference: 8 years

  • Tom Welling

    In 2001, he played 14-year-old Clark Kent on <em>Smallville</em> when he was 24 years old. Age difference: 10 years

  • Minka Kelly

    In 2006, she played 17-year-old Lyla Garrity on <em>Friday Night Lights</em> when she was 26 years old. Age difference: 9 years

  • Keiko Agena

    In 2000, she played 15-year-old Lane Kim on <em>Gilmore Girls</em> when she was 27 years old. Age difference: 12 years

  • Stacey Dash

    In 1996, she played 16-year-old Dionne Davenport in <em>Clueless</em> when she was 28 years old. Age difference: 12 years

  • Jennifer Lawrence

    In 2012, she played 16-year-old Katniss Everdeen in <em>The Hunger Games</em> when she was 21 years old. Age difference: 5 years Jennifer Lawrence <a href="http://mix1065fm.cbslocal.com/2012/04/06/11-actresses-who-auditioned-to-play-katniss-in-the-hunger-games-photos/">beat out several actual teens</a> for the role of Katniss, including Chloë Grace Moretz, Abigail Breslin, and Hailee Steinfeld!