Emmerdale fans were baffled during Monday's trip to the Yorkshire dales when Cain Dingle's age was revealed.

The hardman, who has been at the heart of the soap for decades, grimaced over the prospect of celebrating his 50th birthday with his nearest and dearest.

Living up to his famously grumpy personality, Cain was reluctant to celebrate his birthday, despite coaxing from his wife Moira Dingle (Natalie J Robb).

Marking the occasion, the official Emmerdale Twitter account poked fun at Cain's character, saying: "It warms our hearts how Cain loves a birthday."

In reality, the actor who plays him – Jeff Hordley – is actually slightly older than the character he is playing.

Cain celebrated his 50th birthday on the soap this evening

Jeff turned 50 back in March, meaning he is half a year older than the dishy Dingle farmhand in real life.

Taking to Twitter, fans watching from home were baffled to learn Cain's real age, as they suspected he would be a good deal younger.

One said: "Happy '50th' birthday Cain Dingle! You don't look a day over…"

"I can honestly say... Cain is definitely the fittest 50 year old I have ever seen!! #Emmerdale," wrote a second.

Co-stars – and couple – Jeff and Zoe are proud parents to two kids

And a third fan, who had done some Googling, penned: "He's 50 in real life as well!"

Having joined the soap 20 years ago, Jeff is married to his co-star Zoe Henry, with the lovebirds sharing two children – son Stan and daughter Violet – and an adorable pet pooch together.

Earlier this year, Jeff's co-stars wished the actor a happy birthday, marking the special occasion with a number of throwback snaps from their antics behind-the-scenes.

Charley Webb, who plays his onscreen daughter, said: ”Happy fifty years to my right arm.”

And Danny Miller, who plays his sidekick Aaron Dingle, said: "Happy 40th Birthday to my favourite Cain Dingle in the whole of Emmerdale/the world."

Emmerdale airs on weekdays at 7pm on ITV.