Salaripedia
English

How much does a middle school teacher make in Des Moines?

$60,980a year

Median yearly pay for middle school teachers in the Des Moines-West Des Moines, IA metro area. That is $29.32 an hour or $5,082 a month.

Hourly
$29.32
Vs. national median
-5%
Rank among cities
230 of 357
Jobs in the area
1,150
Pay range
Lowest 10%: $45,750Median: $60,980Highest 10%: $78,880
PercentileYearlyHourly
10th$45,750$22.00
25th$45,750$22.00
Median$60,980$29.32
75th$64,910$31.21
90th$78,880$37.92

Other cities in Iowa

Median yearly pay for middle school teachers.

Omaha, NE$63,750
Ames, IA$63,200
Cedar Rapids, IA$63,040
Davenport, IA$62,800
Iowa City, IA$61,380
Waterloo, IA$60,460
Sioux City, IA$57,900
Middle School Teacher salary in Iowa Middle School Teacher salary in all states

Related jobs in Des Moines

Same field, median yearly pay.

Health Specialties Teacher$102,200
Business Teacher$82,730
Nursing Instructor and Teacher$80,180
English Language and Literature Teacher$76,960
Instructional Coordinator$76,600
Librarian and Media Collections Specialist$75,960
Art$75,490
Biological Science Teacher$75,180
Mathematical Science Teacher$74,030
Special Education Teacher$63,890
Salaries for every job in Des Moines, IA

Frequently asked questions

How much does a middle school teacher make an hour in Des Moines?

The median hourly pay in the Des Moines-West Des Moines, IA metro area is $29.32 ($60,980 a year).

Do middle school teachers make more in Des Moines than the national average?

No: $60,980 against $64,370 nationally, 5% less.

How does Des Moines compare with the rest of Iowa?

The median in Iowa is $60,450, so Des Moines pays 1% more.

Where does Des Moines rank for middle school teacher pay?

230 of 357 metro areas with data.

How much does a middle school teacher make starting out in Des Moines?

The lowest-paid 10% make $45,750 or less a year; the top 10% make $78,880 or more.

Source: U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics (OEWS): pay in May 2025, published by BLS in 2026. Hourly pay is the yearly figure divided by 2,080 hours.