Moody is located at . According to the United States Census Bureau, the town has a total area of, of which is land and is water. The city is located east of Birmingham along Interstate 20, which runs through the southern part of the city. Access can be found from exits 144 and 147. Via I-20, downtown Birmingham is 22 mi west, and Atlanta is 127 mi east. U.S. Route 411 also passes through the city, leading northeast 23 mi to Ashville and southwest 5 mi to Leeds.
Demographics
As of the 2010 census, there were 20,017 people, 5,816 households, and, 344 families residing in the city. The population density was 834.04 people per square mile. There were 3,317 housing units at an average density of 138.8 per square mile. The racial makeup of the town was 94.09% White, 3.81% African American, 0.42% Native American, 0.22% Asian, 0.37% from other races, and 1.08% from two or more races. 1.09% of the population were Hispanic or Latino of any race. There were 3,126 households out of which 34.6% had children under the age of 18 living with them, 60.8% were married couplesliving together, 10.6% had a female householder with no husband present, and 25.1% were non-families. 22.2% of all households were made up of individuals and 8.1% had someone living alone who was 65 years of age or older. The average household size was 2.58 and the average family size was 3.02. In the town, the population was spread out with 26.2% under the age of 18, 7.8% from 18 to 24, 31.6% from 25 to 44, 23.6% from 45 to 64, and 10.7% who were 65 years of age or older. The median age was 36 years. For every 100 females, there were 95.6 males. For every 100 females age 18 and over, there were 90.8 males. The median income for a household in the town was $39,500, and the median income for a family was $43,767. Males had a median income of $38,150 versus $26,089 for females. The per capita income for the town was $18,208. About 12.0% of families and 12.6% of the population were below the poverty line, including 13.9% of those under age 18 and 12.2% of those age 65 or over.
Education
Public schools
Administered by the St. Clair County Board of Education: