Location in Houston County and the state of Alabama
|• Total||1.9 sq mi (5 km2)|
|• Land||1.9 sq mi (5 km2)|
|• Water||0 sq mi (0 km2)|
|Elevation||164 ft (50 m)|
|• Density||159.5/sq mi (60.6/km2)|
|Time zone||Central (CST) (UTC-6)|
|• Summer (DST)||CDT (UTC-5)|
|GNIS feature ID||0122197|
Madrid is located at .
According to the U.S. Census Bureau, the town has a total area of 1.9 square miles (4.9 km2), all of it land.
As of the census of 2000, there were 303 people, 119 households, and 89 families residing in the town. The population density was 156.1 people per square mile (60.3/km²). There were 134 housing units at an average density of 69.0 per square mile (26.7/km²). The racial makeup of the town was 82.84% White, 16.17% Black or African American, 0.33% Asian, and 0.66% from two or more races.
There were 119 households out of which 42.0% had children under the age of 18 living with them, 60.5% were married couples living together, 10.9% had a female householder with no husband present, and 24.4% were non-families. 20.2% of all households were made up of individuals and 12.6% had someone living alone who was 65 years of age or older. The average household size was 2.55 and the average family size was 2.96.
In the town the population was spread out with 29.4% under the age of 18, 6.6% from 18 to 24, 33.0% from 25 to 44, 19.1% from 45 to 64, and 11.9% who were 65 years of age or older. The median age was 34 years. For every 100 females there were 85.9 males. For every 100 females age 18 and over, there were 86.1 males.
The median income for a household in the town was $14,943, and the median income for a family was $21,563. Males had a median income of $25,000 versus $16,563 for females. The per capita income for the town was $10,409. About 18.1% of families and 30.9% of the population were below the poverty line, including 31.6% of those under the age of eighteen and 51.5% of those sixty five or over.