Sperryville is a census-designated place 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. The population as of the 2010 Census was 342.