James Arthur has admitted "crippling anxiety" led him to cancel a charity gig just hours before he was due to perform.

The 31-year-old singer, who won The X Factor in 2012, was set to perform at the Teenage Cancer Trust gig at the Royal Albert Hall in London on Thursday night.

Taking to Twitter to explain why he would not be performing at the event, Arthur said he was "deeply sorry" while opening up about his "poor mental health".

"I’m deeply sorry to announce that I’m going to have to pull out of the Teenage Cancer Trust performance tonight. 

"I have been feeling crippled by anxiety and poor mental health over the past few days and it’s badly affecting me. I simply cannot perform tonight."

He continued: "I would like to profoundly apologise to the amazing Teenage Cancer Trust team, to all that have bought tickets to see me and to the boys from Take That, it was a dream to be able to perform alongside them but devastatingly I cannot perform this evening.

"I promise I will make it up to you and I’m looking to get help for this."

Last year, Arthur revealed how he believes celebrities are responsible for discussing their mental health.

Speaking on Lorraine, he confessed: "I think people in the spotlight have a huge responsibility to talk about these things."

For more music news and reviews, click here