According to the United States Census Bureau, the city has a total area of 1.6 square miles (4.1 km2), all land.
Alabamian James Francis Towns (1850–1937) came in 1870 and settled nearby on the San Gabriel River.
Calvin Weir's daughter, Lucy, served as postmaster at the post office in Townsville, where she also ran a small store.
The communities developed similarly until 1893, when the Georgetown and Granger Railroad came through Weir, bypassing Townsville.
In 1903, after the Missouri, Kansas and Texas Rail-Road (MKT) bought the line, known as the Katy, most area residents moved into the town of Weir, officially established that same year.
The Katy Lake Resort, created by MKT on the river at Towns Mill Dam, attracted tourists to the area.
The Townsville post office moved to Weir, and with several new businesses, the town began to thrive.