This is a huge topic of debate among scholars, and a big consideration for a director who is casting the play. There’s a lot of info out there, a lot of it can be found in the link above. I’ll post some of the info I’ve gathered at a later date. Many seem to settle on the idea that Hamlet is 30 years old. The gravedigger in act V in the First Folio gives us a few clues about that…
I always thought that 30 is just too old for Hamlet. It often seems to me that saying he’s that age was justification for older actors to be able to take on the role. I’m not a fan of seeing 45 year-olds playing opposite a mother their same age. It’s common on stage. Richard Burton, I think, was 39 when he played the role in the version that is on video. He just looked so old! Kenneth Branagh was 36 in his movie. Derek Jacobi in the BBC video version was 42! Mel Gibson was 34 but the beard added 10 years.
Hamlet’s in school, that should make him young-ish. I like the age range of 21, maybe a little older, quite possibly younger. If he seemed a little younger I think that’d be fine. I think the drama (and the tragedy) is heightened when an audience sees this KID going through all this. The bright young lad who would be king.
So is Hamlet older than he seems, or is it such a great role that one would rather cast an older, “better” actor. Naturally with age comes maturity, experience, wisdom, and more skill to an actor. Hamlet is such a huge role (in every aspect) perhaps some think the requirements of the role are too great to burden a younger actor.
With the different sources of Shakespeare’s texts telling us different things it’s impossible to know for sure. His age may have been changed somewhere along in the writing and revising process. Something important when the play is being staged… does it work? Will I believe this old man is the son of this woman? A lot of theatre is about suspending disbelief, but even that has limits sometimes. Look through Hamlet again. How old does he seem to you? There doesn’t seem to be a right answer here. I had an acting teacher who said he was about 34. I think a lot of that had to do with the fact that he was about 34 and really wanted to play Hamlet. I still think Hamlet’s much younger than that… around twenty. But don’t take my word for it!