Portsmouth, NH has a population of 21,458 and is the 2,022nd largest city in the United States. The population density is 1,374 per sq mi which is 872% higher than the New Hampshire average and 1416% higher than the national average. The median age in Portsmouth is 41 which is approximately 3% lower than the New Hampshire average of 42. In Portsmouth, 48% of the population over 15 years of age are married, 90% speak English and 2% speak Spanish. 35% of Portsmouth residents were born in New Hampshire, 57% were born out of state, 1% were born outside of the United States and 7% were foreign born.