Keke Palmer wishes she could "bottle" how she feels about herself.

The 29-year-old actress has taken to social media to hit back at her critics, with Keke saying she's "beautiful in real life" because of who she is, rather than what she looks like.

The Hollywood star - who has previously struggled with anxiety and depression - wrote on Twitter: "I just saw a few comments of ppl saying I was ugly cause I wasn’t wearing any makeup. And I really want y’all to get the help y’all need because makeup isn’t real. I’m beautiful in real life, because of who I am, not what I look like.

"I wish I could bottle how I feel about myself and sell it. Because some people take comments to heart and these ppl just say anything. I mean truly it’s insane to say anyone is ugly, but especially me. [laughing emoji] (sic)"

Meanwhile, Keke recently announced that she's expecting her first child with boyfriend Darius Jackson.

The actress used her opening monologue on 'Saturday Night Live' to "set the record straight" about her pregnancy.

Keke said: "There's some rumours going around, people have been in my comments saying, 'Keke's having a baby, Keke's pregnant,' and I wanna set the record straight - I am!

"I gotta say, though, it is bad when people on the internet spread rumours about you y'all, but it's even worse when they're correct. I mean, like, I was trying so hard to keep it on the down low, cause I got a lot of stuff going on, you know? ... But honestly this has been the biggest blessing, and I am so excited. Guys, I'm going to be a mom."