Weir is a city in Williamson County, Texas, United States. The population was 699 at the 2020 census.