What is an idiom/slang for "someone who pretends to be good when they're not"?

A wolf in sheep's clothing is someone who tries to trick you into trusting them by presenting themselves as unthreatening, then unexpectedly attacks you.

A poser is someone who pretends to have a "better" social/intellectual/economic position than they really do. @Jay's example is slightly odd (though not uncommon), in that the supposedly "rough" background is in fact considered "better" in certain social contexts (it has more "street cred"). It's an example of inverse snobbery.

It's not clear from the question exactly what kind of "good" image our subject is presenting, what kind of "bad" reality is being concealed, or why she's doing it. Either or neither of the above might apply (but probably not both).

Other possibilities are cheat, liar, deceiver, imposter, pretender, fake, faker, fraud, sham, decoy, defrauder, dodger, double-crosser, double-dealer, trickster, charlatan, two-faced [person].

Personally, I like duplicitous (deceptive in words or action) for general use. But if it's a woman pretending to be sexually modest when I know she's not, I might call her a closet sexpot (a term of my own invention here, but which I'd expect to be understood by anyone I might say it to).


Another word to describe such a person is hypocrite.


A more slangy phrase is "two-faced" and probably doesn't quite fit your scenario. It often means a person who is very nice and complimentary when speaking to someone, but speaks poorly about him/her to others.

Related: back-stabber: Doesn't confront you face-to-face, instead stabs you in the back. A classic example is a co-worker who tells you that your idea is great and then tells the boss that it's awful, OR takes credit for the idea him/herself.


If you're talking about ability or social role, like someone saying they grew up in a tough neighborhood when really they're a spoiled rich kid, I think the common slang term today is "poser". "Hypocrite" (someone else's answer") is pretty harsh and implies serious moral inconsistency, like someone loudly condemning drunkenness and then going home and secretly getting drunk himself. More formal words are "fake", "fraud", and "imposter".


A wolf in sheep's clothing sounds appropriate.