Actors who were too young or too old for their roles
- Brooke Shields in 'Pretty Baby'
- Dakota Fanning in 'Hounddog'
- Natalie Portman in 'Léon: The Professional'
- Carla Gugino in 'Spy Kids'
- Chloë Grace Moretz
- Macaulay Culkin in 'The Good Son'
- Christian Bale in 'Empire of the Sun'
- Tatum O'Neal in 'Paper Moon'
- Elle Fanning in 'The Beguiled'
- Dakota Fanning in 'The Runaways'
- Tobey Maguire in 'Spider-Man 3'
- Rachel McAdams in 'Mean Girls'
- Stacey Dash in 'Clueless'
- Jason Earles in 'Hannah Montana'
- Matt Damon in 'Behind the Candelabra'
- Shirley Henderson in 'Harry Potter'
- Ian Somerhalder in 'The Vampire Diaries'
- Ashleigh Murray in 'Riverdale'
- Michael J. Fox in 'Back to the Future'

Audiences willingly suspend their disbelief when they dive into the fictional universe of film and television, but the reality behind the actors playing those roles can be shocking!
From pre-pubescent stars embodying the darkest parts of humanity, to aging actors completely changing our perception of high school students, check out this gallery to see which actors were way too young, and way too old, for their roles.
Brooke Shields in 'Pretty Baby'

Shields' young on-screen sexuality was a hotly debated topic, especially when, at age 11, she played a girl who lives at a brothel and has her virginity auctioned away.
Dakota Fanning in 'Hounddog'

At 12 years old, Fanning played an Elvis Presley-loving girl in a very broken family who is raped on-screen (though you can only see her face). The scene received a lot of backlash from viewers.
Natalie Portman in 'Léon: The Professional'

Her big-screen debut, Portman was cast when she was just 11 years old as a girl who takes refuge with a hit man with whom she develops an uncomfortable chemistry. In the film, a pint-sized Portman consumes cigarettes and even holds a gun to her head.
Carla Gugino in 'Spy Kids'

On the 20th anniversary of the release of 'Spy Kids,' actress Carla Gugino reflected on being way too young for her role. The actress co-starred alongside Antonio Banderas as retired spies with pre-teen children, but Gugino wasn't exactly a convincing age for her character.
“I was at least ten years too young for the role because I was supposed to have been a spy for ten years, then had two children who were now 10 and 12. I was 28 years old," Gugino told Variety. "I think it only hurt me a little because people did think I was older than I was for a period of time." Still, she says she wouldn't have given up the experience for anything. "It was just this little tiny movie we made alone in Austin and it became a phenomenon that continues.”
Chloë Grace Moretz

At age 13, Moretz starred as Hit-Girl, a comic book character who cursed like a sailor and was no stranger to extreme violence. The film was rated R, meaning she technically couldn't watch it.
Macaulay Culkin in 'The Good Son'

Quite a different role from Kevin in 'Home Alone,' Culkin plays an evil child with psychopathic tendencies and wicked murder plots, all at the tender age of 12 years old.
Christian Bale in 'Empire of the Sun'

The impressive actor was just 13 when he played Jim in Steven Spielberg's war film. Bale was subjected to brutally realistic scenes, and the degree to which he pulled it off is a little frightening.
Tatum O'Neal in 'Paper Moon'

At just 9 years old, O'Neal's character was a smoking, drinking con artist, and the role even won her an Oscar, making her the youngest winner in history.
Elle Fanning in 'The Beguiled'

Fanning was 19 years old when she played a woman in a boarding school where a soldier soon seeks refuge. The most disturbing scene involves her in bed with a man who is 41 years old (Colin Farrell), more than twice her age.
Dakota Fanning in 'The Runaways'

The older Fanning was just 16 when she played aspiring rock star Cherie Currie, opposite Kristen Stewart as Joan Jett. Sex, drugs, and rock 'n' roll ensued, of course.
Tobey Maguire in 'Spider-Man 3'

The actor was 32 years old in the third installation of a series about a character who is supposed to be in his late teens to early twenties. He was 27 when it all started.
Rachel McAdams in 'Mean Girls'

Popularized as the notorious Regina George, high school bully and low-carb fanatic, McAdams was actually 25 at the time of filming.
Stacey Dash in 'Clueless'

Dionne Davenport, a high school student of 15 years old, was played by a 28-year-old actor!
Jason Earles in 'Hannah Montana'

Earles (right) was supposed to be Miley's 16-year-old brother in the series that essentially launched her career. He was nearly 30 when they started filming!
Matt Damon in 'Behind the Candelabra'

In this historic drama, Damon played a 17-year-old Scott Thorson. In reality, he was 43!
Shirley Henderson in 'Harry Potter'

Moaning Myrtle, the 14-year-old Hogwarts ghost, was 36 when she filmed 'Harry Potter and the Chamber of Secrets,' and she was 40 at the time of the 'Goblet of Fire.'
Ian Somerhalder in 'The Vampire Diaries'

When he began his role as a vampire teenager, Somerhalder was already 31 years old. When it all ended, his character was still a teenager, but Somerhalder had turned 38.
Ashleigh Murray in 'Riverdale'

In the recently popularized 'Archie' spin-off, this incredibly young-looking actor plays the role of a teenager named Josie. In real life, however, she's somehow 30 years old.
Michael J. Fox in 'Back to the Future'

In 'Back to the Future Part III,' a 29-year-old Fox returned to his role as the famed teenager Marty McFly.