Salaripedia
English

How much does a middle school teacher make in Iowa City?

$61,380a year

Median yearly pay for middle school teachers in the Iowa City, IA metro area. That is $29.51 an hour or $5,115 a month.

Hourly
$29.51
Vs. national median
-5%
Rank among cities
213 of 357
Jobs in the area
410
Pay range
Lowest 10%: $45,890Median: $61,380Highest 10%: $80,650
PercentileYearlyHourly
10th$45,890$22.06
25th$48,950$23.53
Median$61,380$29.51
75th$76,800$36.92
90th$80,650$38.77

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
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 Iowa City

Same field, median yearly pay.

Librarian and Media Collections Specialist$77,680
Instructional Coordinator$67,400
Special Education Teacher$62,860
Special Education Teacher$62,760
Secondary School Teacher$62,100
Special Education Teacher$61,440
Library Technician$61,300
Elementary School Teacher$60,870
Educational Instruction and Library Worker$57,560
Kindergarten Teacher$49,880
Salaries for every job in Iowa City, IA

Frequently asked questions

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

The median hourly pay in the Iowa City, IA metro area is $29.51 ($61,380 a year).

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

No: $61,380 against $64,370 nationally, 5% less.

How does Iowa City compare with the rest of Iowa?

The median in Iowa is $60,450, so Iowa City pays 2% more.

Where does Iowa City rank for middle school teacher pay?

213 of 357 metro areas with data.

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

The lowest-paid 10% make $45,890 or less a year; the top 10% make $80,650 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.