While some Harry Potter fans instantly accept the choices made by their favorite characters—and, by extension, those made by author JK Rowling—many still question major events of the series, including why the adult Harry Potter would name one of his sons after Severus Snape, a professor who made Harry's life miserable during all his years at Hogwarts.
A few years back, one fan asked the author directly about her decision. In a since-deleted tweet, the user asked “@jk_rowling Why did you pick Snape to name Harry's kid after? I'm genuinely curious as he was nothing but abusive towards everyone.”
In a series of tweets, Rowling explained her reasoning. Though Snape was hard on Harry and his friends throughout the series, he was deeply in love with Lily Potter, Harry's mom. This unrequited love led him to resent James Potter, Harry’s father, and eventually Harry, too.
As Rowling sees it, Snape eventually sacrificed himself in order to save Harry at the Battle of Hogwarts, so Harry felt the need to honor him.
Snape died for Harry out of love for Lily. Harry paid him tribute in forgiveness and gratitude. https://t.co/MPXBgUApa3
— J.K. Rowling (@jk_rowling) November 27, 2015
Snape is all grey. You can't make him a saint: he was vindictive & bullying. You can't make him a devil: he died to save the wizarding world
— J.K. Rowling (@jk_rowling) November 27, 2015
There's a whole essay in why Harry gave his son Snape's name, but the decision goes to the heart of who Harry was, post-war.
— J.K. Rowling (@jk_rowling) November 27, 2015
In honouring Snape, Harry hoped in his heart that he too would be forgiven. The deaths at the Battle of Hogwarts would haunt Harry forever.
— J.K. Rowling (@jk_rowling) November 27, 2015
Though it's been more than 20 years since the first Harry Potter book was published, new fans are coming to the series all the time. Fortunately, Rowling always seems eager to fill in the blanks for her readers.