At the 2012 Summer Olympics in London, Villars maintained her program by qualifying for two swimming events. She posted FINA B-standard entry times of 59.57 (100 m butterfly) from the European Championships in Debrecen, Hungary, and 2:01.47 (200 m freestyle) from the Olympic trials in Zurich. In the 100 m butterfly, Villars broke her own Swiss record of 59.42 to share a top seed in the second heat and a twenty-sixth-place tie with Spain's Judit Ignacio Sorribes on the first day of the Games. In the 200 m freestyle, Villars raced to second place on the first heat by 1.06 seconds behind Thailand's Natthanan Junkrajang, outside her personal best of 2:03.55. Villars failed to advance into the semifinals, as she placed thirty-first overall in the preliminaries.