@Abedeus
Allow me to give you the definition of anti-hero:
"An antihero or antiheroine is a character in a story who lacks conventional heroic qualities and attributes such as idealism, courage, and morality. Although antiheroes may sometimes perform actions that are morally correct, it is not always for the right reasons, often acting out of self-interest or in ways that defy conventional ethical codes."
Even thought Levi is courageous, there are several moments where he didn't follow ethical codes. Like beating the shit out of Eren, killing without hesitation or remorse humans included, torturing, (what he did to Zeke on their second fight), not hesitating in killing former companions after they were transformed into Titans, etc. So he's morality ambiguous, and that actually works great for his character. He'd do whatever it takes in the fight against the Titans and to protect his homeland.
He sure as hell is not your convencional hero.