I personaggi moralmente ambigui sono difficili da classificare come buoni o cattivi, in quanto contengono elementi forti di entrambi. Questo tipo di personaggio può essere usato sia come eroe che come cattivo, anche se storie con eroi centrali moralmente ambigui sono generalmente tragedie.
Le storie con personaggi moralmente ambigui hanno una tensione incorporata, perché c'è sempre la domanda se la loro natura malvagia sarà in grado di prendere piede, facendole fallire nella loro ricerca. Questi personaggi hanno generalmente problemi reali che causano i loro conflitti interiori, il che li rende anche simpatici.
Il classico esempio di ambiguità morale è Amleto. Un esempio più moderno è Dirty Harry, che era disposto a compiere atti malvagi per compiere buone azioni. Questi personaggi stanno costantemente negoziando il confine tra il bene e il male.