Salaripedia
English

How much does a substitute teacher make in Ann Arbor?

$38,920a year

Median yearly pay for substitute teachers in the Ann Arbor, MI metro area. That is $18.71 an hour or $3,243 a month.

Hourly
$18.71
Vs. national median
-7%
Rank among cities
122 of 323
Jobs in the area
130
Pay range
Lowest 10%: $29,430Median: $38,920Highest 10%: $59,570
PercentileYearlyHourly
10th$29,430$14.15
25th$33,330$16.02
Median$38,920$18.71
75th$46,820$22.51
90th$59,570$28.64

Other cities in Michigan

Median yearly pay for substitute teachers.

Traverse City, MI$52,450
Lansing, MI$47,880
Detroit, MI$46,680
Muskegon, MI$43,140
Flint, MI$38,600
South Bend, IN$36,420
Grand Rapids, MI$35,300
Saginaw, MI$35,260
Kalamazoo, MI$34,310
Niles, MI$32,270
Substitute Teacher salary in Michigan Substitute Teacher salary in all states

Related jobs in Ann Arbor

Same field, median yearly pay.

Economics Teacher$185,800
Psychology Teacher$142,800
Physics Teacher$141,400
Engineering Teacher$140,500
Chemistry Teacher$138,300
Mathematical Science Teacher$137,700
Political Science Teacher$137,400
English Language and Literature Teacher$137,400
Health Specialties Teacher$136,600
Computer Science Teacher$136,100
Salaries for every job in Ann Arbor, MI

Frequently asked questions

How much does a substitute teacher make an hour in Ann Arbor?

The median hourly pay in the Ann Arbor, MI metro area is $18.71 ($38,920 a year).

Do substitute teachers make more in Ann Arbor than the national average?

No: $38,920 against $41,670 nationally, 7% less.

How does Ann Arbor compare with the rest of Michigan?

The median in Michigan is $39,500, so Ann Arbor pays 1% less.

Where does Ann Arbor rank for substitute teacher pay?

122 of 323 metro areas with data.

How much does a substitute teacher make starting out in Ann Arbor?

The lowest-paid 10% make $29,430 or less a year; the top 10% make $59,570 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.