Salaripedia
English

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

$62,130a year

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

Hourly
$29.87
Vs. national median
-14%
Rank among cities
218 of 375
Jobs in the area
9,870
Pay range
Lowest 10%: $47,630Median: $62,130Highest 10%: $98,540
PercentileYearlyHourly
10th$47,630$22.90
25th$50,640$24.35
Median$62,130$29.87
75th$78,970$37.97
90th$98,540$47.38

Other cities in Missouri

Median yearly pay for secondary school teachers.

Kansas City, MO$61,200
Springfield, MO$60,060
Columbia, MO$58,720
Jefferson City, MO$50,950
Joplin, MO$50,690
St. Joseph, MO$49,790
Cape Girardeau, MO$48,570
Secondary School Teacher salary in Missouri Secondary 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 secondary school teacher make an hour in St. Louis?

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

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

No: $62,130 against $72,040 nationally, 14% less.

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

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

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

218 of 375 metro areas with data.

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

The lowest-paid 10% make $47,630 or less a year; the top 10% make $98,540 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.