Salaripedia
English

How much does a middle school teacher make in St. Louis?

$62,180a year

Median yearly pay for middle school teachers in the St. Louis, MO-IL metro area. That is $29.89 an hour or $5,182 a month.

Hourly
$29.89
Vs. national median
-3%
Rank among cities
190 of 357
Jobs in the area
5,650
Pay range
Lowest 10%: $48,860Median: $62,180Highest 10%: $100,200
PercentileYearlyHourly
10th$48,860$23.49
25th$50,220$24.14
Median$62,180$29.89
75th$79,090$38.02
90th$100,200$48.15

Other cities in Missouri

Median yearly pay for middle school teachers.

Kansas City, MO$62,570
Cape Girardeau, MO$56,090
St. Joseph, MO$50,600
Joplin, MO$49,110
Springfield, MO$48,990
Columbia, MO$48,590
Jefferson City, MO$47,960
Middle School Teacher salary in Missouri Middle School Teacher salary in all states

Related jobs in St. Louis

Same field, median yearly pay.

Health Specialties Teacher$131,600
Computer Science Teacher$102,900
Physics Teacher$102,500
Business Teacher$101,700
Chemistry Teacher$101,100
Biological Science Teacher$97,120
Sociology Teacher$96,240
History Teacher$92,140
Career/Technical Education Teacher$87,860
Mathematical Science Teacher$83,390
Salaries for every job in St. Louis, MO

Frequently asked questions

How much does a middle school teacher make an hour in St. Louis?

The median hourly pay in the St. Louis, MO-IL metro area is $29.89 ($62,180 a year).

Do middle school teachers make more in St. Louis than the national average?

No: $62,180 against $64,370 nationally, 3% less.

How does St. Louis compare with the rest of Missouri?

The median in Missouri is $59,310, so St. Louis pays 5% more.

Where does St. Louis rank for middle school teacher pay?

190 of 357 metro areas with data.

How much does a middle school teacher make starting out in St. Louis?

The lowest-paid 10% make $48,860 or less a year; the top 10% make $100,200 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.