Carrie Bradshaw will forever be synonymous with Sarah Jessica Parker, and Buffy will always be Sarah Michelle, but these iconic roles could have been very different if the directors had got their way.
Check out the famous roles these A-listers turned down – and their reasons for doing so.

Scarlett Johansson: My Week With Marilyn
Scarlett Johansson was offered the role of Marilyn in the biopic, but turned it down for unknown reasons. Instead, petite Michelle Williams gained weight in order to play the voluptuous icon – with fantastic results.

Will Smith: Neo, The Matrix
That’s right – Neo could have been played by the Fresh Prince himself! The star admits he was offered the role originally, but “in the pitch, I just didn’t see it.” He added that after watching Keanu Reeve’s performance, Will felt he would have messed up the film, and that Keanu was absolutely the right choice. That’s nice of him, isn’t it?

Olivia Wilde: Marissa, The O.C.
Remember The O.C? Olivia Wilde was originally auditioned to play damsel in distress Marissa, but wasn’t chosen because it was apparently obvious the actress “needed no saving.” The part was given to Mischa Barton instead, and Olivia took up a smaller part in the teen drama.

Charlie Hunnam: Christian Grey, 50 Shades
If you’ve ever caught an episode of Sons of Anarchy you’ll already be well aware of Charlie Hunnam’s rugged charm. That’s why he was originally scheduled to play Christian Grey in erotic novel 50 Shades. He accepted the role, but later backed out, saying he’d bitten off “more than he could chew.” Jamie Dornan took up the role after Charlie dropped out, and we can’t say that was disappointing in any way.

Dana Delaney: Carrie Bradshaw, SATC
Desperate Housewives star Dana Delaney was originally wanted for the role of Carrie Bradshaw, now synonymous with Sarah Jessica Parker. She stated her reasons for turning it down as not wanting to be in a show about sex. Pfft, we all know it’s much more than that now, don’t we Dana.

Rachel McAdams: Andy Sachs, Devil Wears Prada
Rachel was originally offered the role of Andy Sachs in The Devil Wears Prada but turned it down. It’s hard to imagine anyone but Anne Hathaway filling that position now!

Katie Holmes: Buffy the Vampire Slayer
Before Sarah Michelle Gellar became the vampire fighting star we all know and love, Katie Holmes was offered the part of Buffy in the series. She reportedly turned it down because she wanted to finish high school first, and went onto be Pacey in teen drama Dawson’s Creek.

Sarah Michelle Gellar: Cher, Clueless
Alicia Silverstone owned her role as ditsy blonde Cher in iconic 90s movie Clueless. But producers originally wanted Sarah Michelle in the role, though she was tied up filming All My Children at the time and so had to turn it down.

James McAvoy: Bilbo Baggins, The Hobbit
James McAvoy was considered for the role of Bilbo in The Hobbit franchise, but in the end, director Peter Jackson was so desperate for Martin Freeman to play him he reworked the entire filming schedule to work around Martin’s Sherlock plans.

Christian Bale: Jack, Titanic
According to Christian Bale’s publicist, Christian was up for the role of Jack in James Cameron’s Titanic. He lost out because the director apparently didn’t want two British actors (Kate Winslet and Christian) playing roles that were meant to be American. The position went to Leo, and he never let go.

Matt Damon: Pretty much every big role ever
Matt Damon has turned down many a starring role, including a turn in Avatar, in The Dark Knight, Brokeback Mountain, Daredevil and Milk. He explained most of these were down to scheduling issues – but admitted he turned down Daredevil because he wasn’t sure of the director, eventually handing the role to Affleck. “I don’t think ultimately Ben was very proud of it,” Damon added.