Last Updated on July 5, 2025 by Matt Staff We all have favorite movie characters that feel like they were born to be played by a single actor. But behind the scenes, many of these iconic roles almost looked completely different -and we mean really different. Can you imagine someone else saying "I'll be back" or slipping into that black leather catsuit?Let's take a nostalgic trip and look at 20 legendary roles that were almost played by other stars. Before Harrison Ford grabbed the whip and hat, Tom Selleck was actually the first choice for Indiana Jones. Due to his commitment toMagnum, P.I., Selleck had to turn it down. It's hard to imagine anyone else running from giant boulders quite like Ford. John Travolta was offered the role of Forrest Gump but decided to pass on it. He later admitted that turning it down was a huge mistake. Tom Hanks went on to win an Oscar and gave us one of the most beloved performances in movie history. Al Pacino was approached to play Han Solo inStar Wars, but he turned it down because he didn't understand the script. Harrison Ford then stepped in and became an intergalactic icon. Can you imagine Pacino piloting the Millennium Falcon? Gwyneth Paltrow was in the running to play Rose inTitanic, but the role ultimately went to Kate Winslet. Winslet's performance helped launch her career into stardom. It's hard to picture anyone else saying, "I'll never let go." Nicolas Cage was offered the role of Aragorn inThe Lord of the Rings, but he turned it down due to family commitments. Viggo Mortensen stepped in and gave the character a legendary presence. Imagine Cage battling orcs in Middle-earth. Emily Blunt was originally cast as Black Widow in the Marvel Cinematic Universe but had to drop out because of scheduling conflicts. Scarlett Johansson stepped in and made the character her own. Fans can't imagine anyone else in that red wig. Molly Ringwald was offered the role of Vivian inPretty Woman, but she turned it down. Julia Roberts took the part and became America's sweetheart almost overnight. Ringwald later said she didn't regret the decision at all. Will Smith was approached to play Neo inThe Matrix, but he declined to star inWild Wild Westinstead. Keanu Reeves took the role and made cinematic history. It's tough to picture anyone else dodging bullets in slow motion. Annette Bening was originally cast as Catwoman inBatman Returns, but she had to drop out after becoming pregnant. Michelle Pfeiffer then stepped into the leather catsuit and delivered an unforgettable, fierce performance. Many fans believe Pfeiffer's Catwoman is still the best ever brought to the screen. Sean Connery was offered the role of Gandalf inThe Lord of the Rings, but he turned it down because he didn't understand the script. Ian McKellen then stepped in and gave us the wizard we all know and love. Connery later admitted he regretted saying no. Reese Witherspoon was considered for the role of Cher inClueless, but the part eventually went to Alicia Silverstone. Silverstone's performance became a cultural touchstone of the '90s. Reese turned out fine, though: she still hadLegally Blondecoming! Jim Carrey was considered for Captain Jack Sparrow inPirates of the Caribbean, but scheduling conflicts got in the way. Johnny Depp's quirky performance made the character unforgettable. Carrey might have taken the pirate in a whole other comedic direction. Before Arnold Schwarzenegger becametheTerminator, producers actually considered O.J. Simpson for the role. Ultimately, they thought Simpson was "too nice" to be a believable killer robot. Schwarzenegger's performance went on to define his career and gave us a line we'll never forget: "I'll be back". Leonardo DiCaprio was originally set to play Patrick Bateman inAmerican Psycho, but he dropped out due to image concerns. Christian Bale stepped in and delivered a chilling performance. Imagine DiCaprio with that axe. Christina Applegate was offered the role of Elle Woods inLegally Blonde, but she turned it down fearing it was too similar to her role inMarried…with Children. Reese Witherspoon made Elle an icon of empowerment and pink fashion. Russell Crowe was first considered for Wolverine inX-Men, but he declined. Hugh Jackman then took on the claws and became a fan favorite. Crowe later said he didn't want to be typecast as a "wolf-like" character. Eric Stoltz was originally cast as Marty McFly inBack to the Futureand even filmed some scenes. But he was replaced by Michael J. Fox, whose performance defined the character. Today, it's nearly impossible to imagine anyone else in that DeLorean. Anne Hathaway was cast as Tiffany inSilver Linings Playbook, but she dropped out due to creative differences. Jennifer Lawrence took over and won an Oscar for her portrayal. Hathaway later said she had no hard feelings. Matthew McConaughey auditioned to play Jack inTitanic, but James Cameron ultimately chose Leonardo DiCaprio. DiCaprio's role became one of his most memorable performances. McConaughey probably didn't mind because he had plenty of "alright, alright, alright" moments ahead. John Krasinski actually came close to becoming Captain America in the MCU. He even got as far as trying on the suit, but eventually the role went to Chris Evans. Krasinski joked that he knew he wasn't right for it once he saw Evans' biceps. Hollywood history is full of fascinating "what ifs," and these almost-cast stories show just how different our favorite films could have been. If you love looking back at the surprising side of pop culture, check out20 Things Kids Do Today That Are Unthinkable To 70s Kids, or take a visual journey through15 Vintage Photos of the 1970s Oil Crisis. You'll be amazed at just how much things have changed.