McAlester, OK has a population of 18,255 and is the 2,389th largest city in the United States. The population density is 1,127 per sq mi which is 1965% higher than the Oklahoma average and 1144% higher than the national average. The median age in McAlester is 36 which is approximately equal to the Oklahoma average of 36. In McAlester, 54% of the population over 15 years of age are married, 91% speak English and 5% speak Spanish. 61% of McAlester residents were born in Oklahoma, 34% were born out of state, 1% were born outside of the United States and 4% were foreign born.