Salaripedia
English

How much does a substitute teacher make in Cleveland?

$34,080a year

Median yearly pay for substitute teachers in the Cleveland, OH metro area. That is $16.38 an hour or $2,840 a month.

Hourly
$16.38
Vs. national median
-18%
Rank among cities
217 of 323
Jobs in the area
530
Pay range
Lowest 10%: $27,610Median: $34,080Highest 10%: $46,530
PercentileYearlyHourly
10th$27,610$13.27
25th$33,100$15.91
Median$34,080$16.38
75th$38,960$18.73
90th$46,530$22.37

Other cities in Ohio

Median yearly pay for substitute teachers.

Huntington, WV$48,270
Weirton, WV$46,610
Wheeling, WV$44,880
Columbus, OH$37,940
Dayton, OH$34,980
Sandusky, OH$34,440
Canton, OH$34,420
Springfield, OH$34,230
Cincinnati, OH$34,130
Lima, OH$33,730
Akron, OH$33,610
Youngstown, OH$32,990
Toledo, OH$32,350
Mansfield, OH$29,370
Substitute Teacher salary in Ohio Substitute Teacher salary in all states

Related jobs in Cleveland

Same field, median yearly pay.

Economics Teacher$102,700
Physics Teacher$95,410
Career/Technical Education Teacher$94,990
Engineering Teacher$84,640
Kindergarten Teacher$82,080
Art$81,810
Environmental Science Teacher$81,800
History Teacher$81,700
Area$81,670
Middle School Teacher$80,580
Salaries for every job in Cleveland, OH

Frequently asked questions

How much does a substitute teacher make an hour in Cleveland?

The median hourly pay in the Cleveland, OH metro area is $16.38 ($34,080 a year).

Do substitute teachers make more in Cleveland than the national average?

No: $34,080 against $41,670 nationally, 18% less.

How does Cleveland compare with the rest of Ohio?

The median in Ohio is $37,150, so Cleveland pays 8% less.

Where does Cleveland rank for substitute teacher pay?

217 of 323 metro areas with data.

How much does a substitute teacher make starting out in Cleveland?

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