Bebe Rexha has said she is “fed up with being put in a box” after claiming a music executive said she was “too old to be sexy”.

The American singer, 29, said the male executive told her that her brand was “confusing”.

Posting an image of herself in underwear on her social media, she said: “Picture dedicated to the music executive who said I am too old to be sexy.”

Rexha went on: “I recently had a MALE music executive tell me that I was getting too old and that my brand was ‘confusing.’

“Because… I’m a songwriter and I post sexy pics on my Instagram and that’s not what female songwriters are suppose to do, especially for my age. I’m 29.

“I’m fed up with being put in a box. I make my own rules.”

She went on: “I’m tired of women getting labeled as ‘hags’ when they get old and guys get labeled as sexy with age.

“Anyways, I’m turning 30 on August 30 and you know what, I’m not running away from it. I’m not gonna lie about my age or sing songs that I feel will sell better because they sound ‘younger.’

“I’m gonna celebrate my age because you know what, I’m wiser, I’m stronger and TRUST ME I’m a much better lover than I was 10 years ago.”

Rexha has previously spoken out after being called “tubby” by online trolls, saying she did not care what other people thought. And earlier this year she was in the headlines when she said designers refused to dress her for the Grammys because she was “too big”.