Robert De Niro's character in Martin Scorsese's cult film Taxi Driver, Travis Bickle, has been voted the greatest film anti-hero of all time.
Robert De Niro got an Oscar nomination for the Taxi Driver role
The disturbed Vietnam veteran was placed top in the poll of readers of Total Film magazine.
Jean Reno's hit man from Leon came second in the "characters you hate to love" list.
Others in top 10 include Jack Carter, played by Michael Caine, from Get Carter, and Mel Gibson's Mad Max.
De Niro made his name playing tough guys and earned an Oscar nomination for his role as Bickle, who spends his nights driving around the mean streets of New York.
The film gave De Niro one of his classic lines: "You talkin' to me?"
Third in the poll is D-Fens, the character played by Michael Douglas in Falling Down, who takes out his frustrations at life in an orgy of violence.
Clint Eastwood's Harry Callahan from the Dirty Harry movies is fourth, ahead of Alex DeLarge, played by Malcolm McDowell, from controversial film A Clockwork Orange.
Silence of the Lambs killer Dr Hannibal Lecter also makes the list along with Rambo, played by Sylvester Stallone and Kurt Russell's Snake Plissken from cult classic Escape from New York.
"They can be unorthodox, amoral or downright diabolical, but these are the guys you hate to love," Total Film said.