High School Teacher salary in St. Louis, MO
Median pay, St. Louis metro
$62,130/year
Middle half earns $50,640 – $78,970
Half of high school teachers in the St. Louis metro area earn more than $62,130 a year and half earn less. That's 14% lower than the national median of $72,040, and ranks #24 of the 30 big metro areas we track for this job.
Pay range
| Percentile | Yearly |
|---|---|
| 10th (entry level) | $47,630 |
| 25th | $50,640 |
| Median (50th) | $62,130 |
| 75th | $78,970 |
| 90th (top earners) | $98,540 |
Is your offer fair?
For a high school teacher job in the St. Louis metro area, here's how an offer compares:
- Below market under $50,640. Fine for a first job in the field, otherwise worth negotiating.
- Typical $50,640 to $78,970. The middle half of what people in this job earn.
- Strong offer over $78,970. Higher than three quarters of workers here.
Before you accept
- Teacher pay is usually set by a district salary schedule based on years of experience and degree level, so ask for the schedule.
- Pay here is yearly. BLS doesn't publish hourly figures for teachers because the school year isn't a standard full-time schedule.
- Coaching, club advising and summer school often come with extra stipends.
Also watch for the common warning signs in the posting itself: 15 job posting red flags.
Source: U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics, 2025, St. Louis metro. Occupation: Secondary School Teachers, Except Special and Career/Technical Education (SOC 25-2031). Figures cover wage and salary workers and don't include bonuses, benefits or overtime.