Hartselle is located at . The city is located in the north central part of the state along Interstate 65, which runs from south to north through the easternmost parts of the city, with access from exits 325 and 328. Via I-65, Huntsville is 35 mi northeast, and Birmingham is 70 mi south. U.S. Route 31 is the main north-south highway through the center of town, leading north 12 mi to Decatur, the county seat of Morgan County, and southeast 20 mi to Cullman. Alabama State Route 36, Main Street, is the main east-west route through downtown, leading northeast 23 mi to Lacey's Spring and west 23 mi to Moulton. According to the U.S. Census Bureau, the city has a total area of, of which is land and 0.07% is water.
Demographics
At the 2000 census there were 12,019 people, 4,816 households, and 3,534 families living in the city. The population density was 809.0 people per square mile. There were 5,170 housing units at an average density of 348.0 per square mile. The racial makeup of the city was 92.25% White, 5.16% Black or African American, 0.63% Native American, 0.31% Asian, 0.02% Pacific Islander, 0.33% from other races, and 1.31% from two or more races. 1.29% of the population were Hispanic or Latino of any race. Of the 4,814 households 35.5% had children under the age of 18 living with them, 59.1% were married couples living together, 10.9% had a female householder with no husband present, and 26.6% were non-families. 24.4% of households were one person and 11.2% were one person aged 65 or older. The average household size was 2.49 and the average family size was 2.97. The age distribution was 25.5% under the age of 18, 7.7% from 18 to 24, 29.3% from 25 to 44, 23.5% from 45 to 64, and 14.0% 65 or older. The median age was 37 years. For every 100 females, there were 92.3 males. For every 100 females age 18 and over, there were 88.8 males. The median household income was $40,461 and the median family income was $47,685. Males had a median income of $40,211 versus $24,124 for females. The per capita income for the city was $20,727. About 6.6% of families and 8.6% of the population were below the poverty line, including 8.8% of those under age 18 and 11.9% of those age 65 or over.
At the 2010 census there were 14,255 people, 5,678 households, and 4,128 families living in the city. The population density was 956.7 people per square mile. There were 6,076 housing units at an average density of 407.8 per square mile. The racial makeup of the city was 91.5% White, 4.3% Black or African American, 0.8% Native American, 0.4% Asian, 0.0% Pacific Islander, 1.3% from other races, and 1.7% from two or more races. 2.5% of the population were Hispanic or Latino of any race. Of the 5,678 households 33.7% had children under the age of 18 living with them, 57.2% were married couples living together, 11.2% had a female householder with no husband present, and 27.3% were non-families. 24.4% of households were one person and 10.7% were one person aged 65 or older. The average household size was 2.51 and the average family size was 2.97. The age distribution was 25.4% under the age of 18, 7.5% from 18 to 24, 26.2% from 25 to 44, 26.8% from 45 to 64, and 14.2% 65 or older. The median age was 38.7 years. For every 100 females, there were 93.2 males. For every 100 females age 18 and over, there were 93.7 males. The median household income was $47,306 and the median family income was $57,585. Males had a median income of $47,343 versus $28,855 for females. The per capita income for the city was $21,746. About 9.4% of families and 11.7% of the population were below the poverty line, including 12.8% of those under age 18 and 14.9% of those age 65 or over.
Public services
Hartselle is the host city of Lifeguard EMS-Morgan County. They serve the unincorporated part of Morgan County, as well as some suburbs of Decatur, and operate four ambulances.