The 'Atonement' star is set to tackle one of the Bard's most famous characters at London's Trafalgar Studio venue from February 9, reported Daily Express.
The 33 year old said he is delighted to be portraying the Scottish monarch onstage before he gets too old.
"I don't think there's any age he has to be, but in my mind he's a captain of men and doing the fighting. He's someone who has recently found out what it's like to rip someone's head off, stick it on a pike and stick it on a castle, and that sounds to me like a young man's game.
"Whenever I see Macbeth he's 40-plus. Anyway, my point is that I've always wanted to play him, and I've always wanted to do it before I hit my 40s," he said.