I encourage you to formulate your own opinion on the matter. To get you thinking, John Proctor, a flawed man who has committed sins in his past, becomes the unlikely hero of the play. He is a hero because of both his personal conquest of his sin and insecurities, and because of his integrity in standing up to a corrupt court. He overcomes his sins and insecurities by first confessing his crime of adultery to Elizabeth. This occurred before the play began, but, he shows that he is a good man because of it. Then, he tries to remain true to his wife, even as Abby tempts him to come back to her. He tells her, "I'll not be coming for you anymore...we never touched." Then, he does the right thing by confessing his sin in front of the entire courts, in order to try to save his wife. He tells everyone present, "I have known her, sir...I have known her." Then at the end, as he is about to confess in order to save his own life, he ends up refusing, saying, "I see some shred of goodness in John Proctor," admitting that he has overcome his insecurities in himself, and feels he is a good man again, not a sinner.
He is also the hero because he does the right thing in standing up to a corrupt court system. He tells Hale that Abby told him it "had naught to do with witchcraft." He then helps and supports Mary Warren as she tries-unsuccessfully-to come clean. He helps to come up with the scheme of the petition that many people signed, attesting to the goodness of the women accused. Then, he gets up and calls Abby a "whore" in order to try to disprove her claims on the court. He does everything in his power, laying down his reputation, and in the end, his life, in order to stop the courts from murdering more innocent people.
In all of these ways, Proctor is the hero. I encourage you to come up with your own reasons out of the ideas that I have given; see which ones you agree with and which ones you don't, and formulate your own opinions based on them.