Penn Badgley almost turned down the role of Joe as he feared that the show would romanticize toxic behavior such as stalking. He was convinced after producers told him that that was the exact reason why he was right for the role- he would approach the show and part in a way that would ensure that Joe is clearly the villain of the story.
Mark Blum, who played bookstore owner Mr. Mooney in Season 1, was set to reprise the role in flashbacks in Season 3, but died of complications from COVID-19 in March 2020 before filming began.
Penn Badgley wasn't nearly as adept with social media as his character Joe was portrayed to be in the series. According to co-star Shay Mitchell (Peach), Penn had never even heard of "Tumblr" and knew little about "Instagram" and other such social networking sites until he started the shoot.
The first season aired on Lifetime, the network ordering the second season before the first episode aired in September 2018. With low ratings on the cable network, Lifetime backed out of airing the drama's second season. Netflix picked the series and began streaming the series in December, 2018.
Joe's young neighbor Paco (Luca Padovan) was not in author Caroline Kepnes's original novel, but was added to the series for some extra dramatic content.