Salaripedia
English

How much does a secondary school teacher make in Richmond?

$62,000a year

Median yearly pay for secondary school teachers in the Richmond, VA metro area. That is $29.81 an hour or $5,167 a month.

Hourly
$29.81
Vs. national median
-14%
Rank among cities
226 of 375
Jobs in the area
4,420
Pay range
Lowest 10%: $50,490Median: $62,000Highest 10%: $80,750
PercentileYearlyHourly
10th$50,490$24.27
25th$54,110$26.01
Median$62,000$29.81
75th$75,680$36.38
90th$80,750$38.82

Other cities in Virginia

Median yearly pay for secondary school teachers.

Washington, DC$80,300
Harrisonburg, VA$78,300
Virginia Beach, VA$76,790
Staunton, VA$72,990
Charlottesville, VA$63,200
Kingsport, TN$61,990
Roanoke, VA$61,760
Blacksburg, VA$60,880
Winchester, VA$60,590
Lynchburg, VA$58,290
Secondary School Teacher salary in Virginia Secondary School Teacher salary in all states

Related jobs in Richmond

Same field, median yearly pay.

Law Teacher$131,300
Economics Teacher$128,500
Engineering Teacher$105,000
Physics Teacher$103,700
Health Specialties Teacher$101,100
Business Teacher$98,170
Political Science Teacher$92,410
Computer Science Teacher$86,670
History Teacher$86,410
Area$85,960
Salaries for every job in Richmond, VA

Frequently asked questions

How much does a secondary school teacher make an hour in Richmond?

The median hourly pay in the Richmond, VA metro area is $29.81 ($62,000 a year).

Do secondary school teachers make more in Richmond than the national average?

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

How does Richmond compare with the rest of Virginia?

The median in Virginia is $72,170, so Richmond pays 14% less.

Where does Richmond rank for secondary school teacher pay?

226 of 375 metro areas with data.

How much does a secondary school teacher make starting out in Richmond?

The lowest-paid 10% make $50,490 or less a year; the top 10% make $80,750 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.