James Lee Troutman of Souderton was arraigned on first- and second-degree murder, sexual assault and kidnapping, The Philadelphia Inquirer reported.
The arraignment took place in a court across the street from the building where he allegedly beat and strangled Skyler Kauffman in the basement Monday. Angry neighbors shouted obscenities at him as he was led to a police car.
Troutman has no previous record of violence. Police questioned him April 18 after he allegedly locked Skyler and another girl in his apartment, across a parking lot from the one where Skyler lived, and offered to show them "his bird," releasing them when one began shouting.
Police said Tuesday they could not make an arrest because no crime had been committed.
"They blew me off," Heather Gebhard, Skyler's mother, said, arguing that decisive action then might have saved her daughter's life.
Troutman was arrested soon after Skyler's body was found in a dumpster. A police officer noticed blood on his shoes and bloody clothes were found in a search of his apartment.
Investigators say that after the killing he returned home and ate with his girlfriend, telling her he had been working out.
Wisconsin business offering 'therapeutic cuddling' forced to close
Police: Sword-wielding man demanded free tacos