Hamilton is a town in the Loudoun Valley of Loudoun County, Virginia, United States. The population was 506 as of the 2010 census.