Sperryville is a census-designated place (CDP) located in the western section of Rappahannock County, Virginia, United States, near Shenandoah National Park. It consists of a village with two main streets along the two branches of the Thornton River, together with surrounding pasture and farmland. As of the 2020 census, Sperryville had a population of 302.