How much does a middle school teacher make in Portland?
$89,590a year
Median yearly pay for middle school teachers in the Portland-Vancouver-Hillsboro, OR-WA metro area. That is $43.07 an hour or $7,466 a month.
- Hourly
- $43.07
- Vs. national median
- +39%
- Rank among cities
- 36 of 357
- Jobs in the area
- 3,540
Pay range
Lowest 10%: $58,270Median: $89,590Highest 10%: $108,600
| Percentile | Yearly | Hourly | |
|---|---|---|---|
| 10th | $58,270 | $28.01 | |
| 25th | $70,830 | $34.05 | |
| Median | $89,590 | $43.07 | |
| 75th | $100,600 | $48.37 | |
| 90th | $108,600 | $52.22 |
Other cities in Oregon
Median yearly pay for middle school teachers.
| Eugene, OR | $79,580 |
| Bend, OR | $78,780 |
| Salem, OR | $77,340 |
| Corvallis, OR | $75,100 |
| Albany, OR | $63,910 |
| Medford, OR | $61,210 |
Related jobs in Portland
Same field, median yearly pay.
| Atmospheric | $128,100 |
| Health Specialties Teacher | $123,500 |
| Economics Teacher | $121,200 |
| Physics Teacher | $111,500 |
| Computer Science Teacher | $107,300 |
| Engineering Teacher | $106,200 |
| Anthropology and Archeology Teacher | $105,200 |
| Sociology Teacher | $104,100 |
| Communications Teacher | $103,900 |
| Geography Teacher | $103,500 |
Frequently asked questions
How much does a middle school teacher make an hour in Portland?
The median hourly pay in the Portland-Vancouver-Hillsboro, OR-WA metro area is $43.07 ($89,590 a year).
Do middle school teachers make more in Portland than the national average?
Yes: $89,590 against $64,370 nationally, 39% more.
How does Portland compare with the rest of Oregon?
The median in Oregon is $78,350, so Portland pays 14% more.
Where does Portland rank for middle school teacher pay?
36 of 357 metro areas with data.
How much does a middle school teacher make starting out in Portland?
The lowest-paid 10% make $58,270 or less a year; the top 10% make $108,600 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.