Moralnie niejednoznaczne postacie są trudne do zaklasyfikowania jako dobre lub złe, ponieważ zawierają silne elementy obu. Ten typ postaci może być używany jako bohater lub złoczyńca, chociaż historie z moralnie dwuznaczny bohater centralny to na ogół tragedie.
Opowiadania o moralnie dwuznacznych postaciach mają wbudowane napięcie, ponieważ zawsze istnieje kwestia, czy ich zła natura będzie w stanie je opanować, powodując ich niepowodzenia w ich dążeniu. Postacie te na ogół mają realne problemy, powodując ich wewnętrzne konflikty, co również sprawia, że są sympatyczne.
Klasycznym przykładem moralnej dwuznaczności jest Hamlet. Bardziej współczesnym przykładem jest Brudny Harry, który był gotów wykonywać złe czyny, aby osiągnąć dobre uczynki. Te postacie nieustannie negocjują przewagę między dobrem a złem.