Personagens moralmente ambíguos são difíceis de classificar como bons ou maus, pois contêm fortes elementos de ambos. Este tipo de personagem pode ser usado como herói ou vilão, embora histórias com uma herói central moralmente ambíguo são geralmente tragédias.
Histórias com personagens moralmente ambíguos têm uma tensão embutida, porque sempre há a questão de se sua natureza maligna será capaz de tomar conta, fazendo com que fracassem em sua busca. Esses personagens geralmente têm problemas reais que causam seus conflitos internos, o que também os torna simpáticos.
O exemplo clássico de ambigüidade moral é Hamlet. Um exemplo mais moderno é Dirty Harry, que estava disposto a realizar atos malignos para realizar boas ações. Esses personagens estão constantemente negociando a fronteira entre o bem e o mal.