Madrid, IA has a population of 2,585 and is the 9,643rd largest city in the United States. The population density is 2,111 per sq mi which is 3765% higher than the Iowa average and 2231% higher than the national average. The median age in Madrid is 41 which is approximately 8% higher than the Iowa average of 38. In Madrid, 58% of the population over 15 years of age are married, 99% speak English and 0% speak Spanish. 82% of Madrid residents were born in Iowa, 17% were born out of state, 0% were born outside of the United States and 0% were foreign born.