Salaripedia
English

How much does a middle school teacher make in Davenport?

$62,800a year

Median yearly pay for middle school teachers in the Davenport-Moline-Rock Island, IA-IL metro area. That is $30.19 an hour or $5,233 a month.

Hourly
$30.19
Vs. national median
-2%
Rank among cities
172 of 357
Jobs in the area
790
Pay range
Lowest 10%: $46,950Median: $62,800Highest 10%: $92,240
PercentileYearlyHourly
10th$46,950$22.57
25th$50,830$24.44
Median$62,800$30.19
75th$77,230$37.13
90th$92,240$44.35

Other cities in Iowa

Median yearly pay for middle school teachers.

Omaha, NE$63,750
Ames, IA$63,200
Cedar Rapids, IA$63,040
Iowa City, IA$61,380
Des Moines, IA$60,980
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 Davenport

Same field, median yearly pay.

Business Teacher$78,990
Biological Science Teacher$76,160
Nursing Instructor and Teacher$75,730
Instructional Coordinator$73,890
Health Specialties Teacher$72,780
Adult Basic Education$64,490
Special Education Teacher$62,820
Secondary School Teacher$61,960
Special Education Teacher$61,710
Elementary School Teacher$61,650
Salaries for every job in Davenport, IA

Frequently asked questions

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

The median hourly pay in the Davenport-Moline-Rock Island, IA-IL metro area is $30.19 ($62,800 a year).

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

No: $62,800 against $64,370 nationally, 2% less.

How does Davenport compare with the rest of Iowa?

The median in Iowa is $60,450, so Davenport pays 4% more.

Where does Davenport rank for middle school teacher pay?

172 of 357 metro areas with data.

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

The lowest-paid 10% make $46,950 or less a year; the top 10% make $92,240 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.