An anti-hero is the main character in a story who lacks conventional heroic qualities and attributes such as idealism, courage, and morality.