Salaripedia
English

How much does a middle school teacher make in Buffalo?

$89,950a year

Median yearly pay for middle school teachers in the Buffalo-Cheektowaga, NY metro area. That is $43.25 an hour or $7,496 a month.

Hourly
$43.25
Vs. national median
+40%
Rank among cities
35 of 357
Jobs in the area
2,870
Pay range
Lowest 10%: $48,880Median: $89,950Highest 10%: $107,300
PercentileYearlyHourly
10th$48,880$23.50
25th$60,270$28.98
Median$89,950$43.25
75th$103,200$49.62
90th$107,300$51.56

Other cities in New York

Median yearly pay for middle school teachers.

Kingston, NY$98,660
Kiryas Joel, NY$97,900
New York, NY$96,500
Albany, NY$80,760
Ithaca, NY$79,520
Utica, NY$79,120
Watertown, NY$78,600
Glens Falls, NY$78,580
Syracuse, NY$78,500
Binghamton, NY$76,290
Rochester, NY$76,160
Middle School Teacher salary in New York Middle School Teacher salary in all states

Related jobs in Buffalo

Same field, median yearly pay.

Law Teacher$131,200
Engineering Teacher$128,900
Social Work Teacher$125,800
Physics Teacher$114,600
Computer Science Teacher$101,800
Chemistry Teacher$101,800
Business Teacher$101,400
History Teacher$93,430
Psychology Teacher$93,160
Health Specialties Teacher$86,780
Salaries for every job in Buffalo, NY

Frequently asked questions

How much does a middle school teacher make an hour in Buffalo?

The median hourly pay in the Buffalo-Cheektowaga, NY metro area is $43.25 ($89,950 a year).

Do middle school teachers make more in Buffalo than the national average?

Yes: $89,950 against $64,370 nationally, 40% more.

How does Buffalo compare with the rest of New York?

The median in New York is $94,840, so Buffalo pays 5% less.

Where does Buffalo rank for middle school teacher pay?

35 of 357 metro areas with data.

How much does a middle school teacher make starting out in Buffalo?

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