Compare towns

Portsmouth vs Keene vs Milford vs Lebanon

Cost, people, housing, commute and schools, side by side, each benchmarked against New Hampshire.

What stands out worked out from the figures below

Portsmouth has the most expensive homes ($689k median).
Keene has the most affordable homes ($253k median).
Milford has the most kids (23.7% under 18).
Lebanon has grown the fastest since 2010 (+8.6%).

What matters to you?

Pick a few. We’ll pull those rows to the top and mark which town comes out ahead on each. There’s no overall score: what matters is up to you.

MeasurePortsmouthKeeneMilfordLebanon
People
Population
22,545
22,939Highest
16,337
14,999Lowest
Growth since 20102010 → 2020 census
+5.7%
NH: +4.6%
-1.5%Lowest
NH: +4.6%
+6.7%
NH: +4.6%
+8.6%Highest
NH: +4.6%
Median age
42.9±2Highest
about the NH average
37.6±2.3
13% below NH
36.8±2.5Lowest
15% below NH
38.9±3.1
10% below NH
Portsmouth and Lebanon are within the Census margin of error here, so we can’t say which is really higher.
Kids under 18
14%±1.9Lowest
NH: 18.2%
14.1%±1.6
NH: 18.2%
23.7%±3.6Highest
NH: 18.2%
14.6%±2.4
NH: 18.2%
Age 65+
21.9%±2.4Highest
NH: 20.1%
19.5%±1.8
NH: 20.1%
15.1%±1.9Lowest
NH: 20.1%
21.4%±2.6
NH: 20.1%
Portsmouth and Lebanon are within the Census margin of error here, so we can’t say which is really higher.
Bachelor’s degree+adults 25+
64%Highest
NH: 40.6%
44.1%
NH: 40.6%
37.2%Lowest
NH: 40.6%
57.5%
NH: 40.6%
Enrolled in collegeshare of residents
3.8%±1.2Lowest
NH: 6%
13.8%±1.4Highest
NH: 6%
4.2%±1.3
NH: 6%
6.9%±2.6
NH: 6%
Cost of living
Household incomemedian
$106,219±$7kHighest
7% above NH
$78,445±$8kLowest
21% below NH
$97,768±$14k
about the NH average
$98,147±$10k
about the NH average
Portsmouth and Lebanon are within the Census margin of error here, so we can’t say which is really higher.
Home valuemedian, owner-occupied
$688,500±$39kHighest
71% above NH
$252,500±$12kLowest
37% below NH
$398,800±$20k
about the NH average
$385,400±$29k
4% below NH
Rentmedian gross, monthly
$1,869±$111Highest
25% above NH
$1,342±$68Lowest
10% below NH
$1,661±$126
11% above NH
$1,744±$132
17% above NH
Portsmouth and Lebanon are within the Census margin of error here, so we can’t say which is really higher.
Property taxmedian, yearly
$8,018
20% above NH
$6,812Lowest
about the NH average
$7,522
13% above NH
$8,149Highest
22% above NH
Renters paying 30%+of income on rent
50.4%±7.2Highest
NH: 48.2%
44.5%±6.1
NH: 48.2%
49.6%±15.8
NH: 48.2%
41.9%±7.2Lowest
NH: 48.2%
Portsmouth and Milford are within the Census margin of error here, so we can’t say which is really higher.
Below poverty line
6.8%
NH: 7.2%
10.1%Highest
NH: 7.2%
3.9%Lowest
NH: 7.2%
7%
NH: 7.2%
Housing
Homeownersof occupied homes
51.9%
NH: 72.8%
55.1%
NH: 72.8%
64.9%Highest
NH: 72.8%
51.2%Lowest
NH: 72.8%
Typical home builtmedian year
1959Lowest
20 yrs older than NH
1961
18 yrs older than NH
1982Highest
3 yrs newer than NH
1980
1 yr newer than NH
Getting to work
Average commuteone way
22 min
17% below NH
17 min
36% below NH
27 minHighest
about the NH average
14 minLowest
48% below NH
Work from home
21.9%±4
NH: 16.8%
15.6%±2.7Lowest
NH: 16.8%
15.6%±3.3Lowest
NH: 16.8%
22.8%±4.3Highest
NH: 16.8%
Lebanon and Portsmouth are within the Census margin of error here, so we can’t say which is really higher.
Schools
Public school scoresrank in state, math + reading #11 of 120 in NH #81 of 120 in NH #55 of 120 in NH #29 of 120 in NH
School district Portsmouth School District Keene School District Milford School District Lebanon School District
High school in town Portsmouth High School Keene High School Milford High School Lebanon High School
Students per teacherat that high school
11.4
12.3Highest
10.7Lowest
11.7
On TownTapestry
Old photos in Our Story None yet None yet None yet None yet

NH average · Sources: U.S. Census Bureau, American Community Survey 5-year estimates 2020–2024; 2010 & 2020 decennial census; NCES Common Core of Data. “±” is the Census margin of error. Property tax is top-coded by the Census at $10,000+. School rank compares math and reading proficiency against the state average.