Weir is on the Missouri, Kansas and Texas Railroad at the intersection of Farm roads 971 and 1105, six miles northeast of Georgetown in central Williamson County. It was founded around 1900 as a station on the railroad between Georgetown and Granger and named for Calvin Weir, a pioneer in the area in the 1850s and the father of Horace M. Weir, the first postmaster. Weir drew many of its first inhabitants from nearby Townsville (or Towns Mill), an older community that was bypassed by the railroad; Townsville's post office was transferred to Weir in 1903. By 1914 Weir had a bank, two general stores, a cotton gin, a lumber company, and a population of 200. The population of Weir reached a peak of 300 inhabitants in 1930; it fell to 100 by 1968 and remained at that level in 1988. The town was incorporated in 1987. In 1990 the population was 220. The population reached 591 in 2000.