Occupational Health and Safety Technicians Salary by City
BLS OEWS May 2025 • 267 metro areas
Compare Occupational Health and Safety Technicians salaries & buying power
Pick two cities to see how salary and purchasing power differ.
Occupational Health and Safety Technicians
in
All metros — Occupational Health and Safety Technicians salaries
AK
| Metro area | Median salary | Employed |
|---|---|---|
| Anchorage, AK | $89,490 | 90 |
| Alaska | $76,290 | 190 |
| Alaska | $53,350 | 80 |
AL
| Metro area | Median salary | Employed |
|---|---|---|
| Decatur, AL | $63,780 | 30 |
| Auburn, AL | $60,570 | 40 |
| Montgomery, AL | $60,020 | 50 |
| Huntsville, AL | $56,300 | 30 |
| Birmingham, AL | $53,640 | 120 |
| Alabama | $52,510 | 480 |
| Mobile, AL | $49,760 | 80 |
| Northwest Alabama | $49,550 | 30 |
| Northeast Alabama | $48,990 | 40 |
| Tuscaloosa, AL | $47,470 | 40 |
| Southeast Alabama | $37,720 | 30 |
AR
| Metro area | Median salary | Employed |
|---|---|---|
| Little Rock, AR | $49,510 | 140 |
| Arkansas | $49,090 | 420 |
| West Arkansas | $49,090 | 30 |
| North Arkansas | $48,900 | 40 |
| Fayetteville, AR | $45,550 | 100 |
| Fort Smith, AR-OK | $41,640 | 40 |
AZ
| Metro area | Median salary | Employed |
|---|---|---|
| Arizona | $75,350 | 40 |
| Phoenix, AZ | $63,320 | 290 |
| Arizona | $62,620 | 390 |
CA
| Metro area | Median salary | Employed |
|---|---|---|
| San Jose, CA | $86,190 | 200 |
| Vallejo, CA | $70,670 | 40 |
| Fresno, CA | $69,760 | 100 |
| San Francisco, CA | $66,260 | 610 |
| Sacramento, CA | $60,000 | 190 |
| Los Angeles, CA | $59,960 | 570 |
| North Valley-Northern Mountains Region of California | $59,860 | 30 |
| San Diego, CA | $59,810 | 240 |
| Modesto, CA | $59,050 | 40 |
| California | $57,990 | 3,760 |
| Stockton, CA | $57,990 | 260 |
| Riverside, CA | $57,610 | 1,030 |
| Oxnard, CA | $57,100 | 60 |
| Bakersfield, CA | $55,910 | 140 |
| Visalia, CA | $55,870 | 50 |
CO
| Metro area | Median salary | Employed |
|---|---|---|
| Northwest Colorado | $79,990 | 30 |
| Pueblo, CO | $75,520 | 40 |
| Greeley, CO | $68,900 | 50 |
| Colorado | $66,560 | 470 |
| Denver, CO | $61,330 | 200 |
| Colorado Springs, CO | $56,900 | 30 |
| Fort Collins, CO | $56,640 | — |
CT
| Metro area | Median salary | Employed |
|---|---|---|
| Hartford, CT | $68,390 | 60 |
| Connecticut | $61,790 | 180 |
| Norwich, CT | $57,970 | 40 |
DC
| Metro area | Median salary | Employed |
|---|---|---|
| Washington, DC-VA-MD-WV | $63,300 | 200 |
DE
| Metro area | Median salary | Employed |
|---|---|---|
| Delaware | $59,770 | 230 |
FL
| Metro area | Median salary | Employed |
|---|---|---|
| Palm Bay, FL | $61,600 | 30 |
| Orlando, FL | $60,420 | 80 |
| Miami, FL | $56,880 | 130 |
| Lakeland, FL | $56,450 | 90 |
| Florida | $56,360 | 800 |
| Jacksonville, FL | $56,330 | 100 |
| Tampa, FL | $51,660 | 170 |
| Gainesville, FL | $49,490 | 30 |
GA
| Metro area | Median salary | Employed |
|---|---|---|
| Athens, GA | $61,670 | 30 |
| Augusta, GA-SC | $59,840 | 80 |
| Savannah, GA | $59,140 | 50 |
| Atlanta, GA | $58,630 | 950 |
| Georgia | $58,090 | 1,500 |
| South Georgia | $53,220 | 40 |
| North Georgia | $50,270 | 170 |
| Middle Georgia | $49,300 | 40 |
| East Georgia | $48,970 | 30 |
GU
| Metro area | Median salary | Employed |
|---|---|---|
| Guam | $39,950 | 120 |
IA
| Metro area | Median salary | Employed |
|---|---|---|
| Davenport, IA-IL | $64,560 | 40 |
| Des Moines, IA | $56,070 | 60 |
| Iowa | $56,070 | 290 |
| Southeast Iowa | $54,960 | 70 |
ID
| Metro area | Median salary | Employed |
|---|---|---|
| Boise City, ID | $69,210 | 70 |
| Idaho | $64,950 | 140 |
IL
| Metro area | Median salary | Employed |
|---|---|---|
| South Illinois | $75,670 | 40 |
| Rockford, IL | $68,390 | 50 |
| Peoria, IL | $66,550 | 50 |
| Chicago, IL-IN | $66,210 | 1,350 |
| Illinois | $66,000 | 1,910 |
| East Central Illinois | $60,880 | 70 |
| Northwest Illinois | $56,380 | 110 |
| West Central Illinois | $50,780 | 60 |
IN
| Metro area | Median salary | Employed |
|---|---|---|
| Central Indiana | $60,850 | 90 |
| Indianapolis, IN | $59,170 | 790 |
| Terre Haute, IN | $58,900 | 30 |
| Indiana | $58,440 | 1,650 |
| Elkhart, IN | $57,950 | 50 |
| Fort Wayne, IN | $57,270 | 100 |
| Northern Indiana | $56,540 | 60 |
| Bloomington, IN | $53,160 | 30 |
| Evansville, IN | $51,570 | 60 |
| Southern Indiana | $49,850 | 70 |
| Lafayette, IN | $47,710 | 30 |
KS
| Metro area | Median salary | Employed |
|---|---|---|
| Topeka, KS | $54,600 | 50 |
| Kansas | $54,270 | 130 |
| Kansas | $52,080 | 410 |
| Wichita, KS | $47,020 | 80 |
KY
| Metro area | Median salary | Employed |
|---|---|---|
| Lexington, KY | $63,110 | 50 |
| Kentucky | $60,410 | 430 |
| Central Kentucky | $60,150 | 60 |
| West Kentucky | $59,060 | 40 |
| South Central Kentucky | $58,760 | 30 |
| Louisville/Jefferson County, KY-IN | $56,690 | 230 |
LA
| Metro area | Median salary | Employed |
|---|---|---|
| Baton Rouge, LA | $80,810 | 210 |
| Lafayette, LA | $57,930 | 40 |
| New Orleans, LA | $53,350 | 220 |
| Louisiana | $52,020 | 790 |
| Houma, LA | $52,000 | 40 |
| Slidell, LA | $40,550 | 40 |
MA
| Metro area | Median salary | Employed |
|---|---|---|
| Boston, MA-NH | $69,190 | 320 |
| Massachusetts | $65,010 | 390 |
| Worcester, MA | $55,070 | 60 |
MD
| Metro area | Median salary | Employed |
|---|---|---|
| Maryland | $61,170 | 200 |
| Baltimore, MD | $59,170 | — |
ME
| Metro area | Median salary | Employed |
|---|---|---|
| Maine | $60,670 | 130 |
| Portland, ME | $60,630 | 50 |
MI
| Metro area | Median salary | Employed |
|---|---|---|
| Midland, MI | $83,320 | 40 |
| Detroit, MI | $64,220 | 160 |
| Michigan | $64,220 | 430 |
| Grand Rapids, MI | $63,550 | 70 |
| Southern Michigan | $61,570 | 30 |
MN
| Metro area | Median salary | Employed |
|---|---|---|
| Minneapolis, MN-WI | $73,970 | 160 |
| Minnesota | $73,970 | 330 |
MO
| Metro area | Median salary | Employed |
|---|---|---|
| Missouri | $60,090 | 320 |
| St. Louis, MO-IL | $59,110 | 230 |
| Kansas City, MO-KS | $59,050 | 200 |
| Central Missouri | $51,600 | — |
| Southeast Missouri | $45,410 | 30 |
MS
| Metro area | Median salary | Employed |
|---|---|---|
| Gulfport, MS | $66,880 | 30 |
| Upper East Mississippi | $61,300 | 60 |
| Mississippi | $58,220 | — |
| Jackson, MS | $53,510 | — |
| Lower East Mississippi | $53,350 | 40 |
| Lower West Mississippi | $48,240 | 40 |
MT
| Metro area | Median salary | Employed |
|---|---|---|
| Montana | $59,940 | 40 |
NC
| Metro area | Median salary | Employed |
|---|---|---|
| Winston, NC | $65,680 | 40 |
| Durham, NC | $63,970 | 70 |
| Fayetteville, NC | $61,760 | 40 |
| Raleigh, NC | $61,720 | 40 |
| North Carolina | $57,610 | 550 |
| Greensboro, NC | $57,200 | 50 |
| Charlotte, NC-SC | $56,980 | 150 |
| Western North Carolina | $54,860 | 50 |
| Central North Carolina | $48,210 | 40 |
ND
| Metro area | Median salary | Employed |
|---|---|---|
| North Dakota | $52,790 | 180 |
| West North Dakota | $49,010 | 130 |
NE
| Metro area | Median salary | Employed |
|---|---|---|
| Omaha, NE-IA | $82,930 | 60 |
| Nebraska | $63,720 | 180 |
| South Nebraska | $62,350 | 40 |
| Northeast Nebraska | $53,380 | 30 |
| Lincoln, NE | $47,530 | 40 |
NH
| Metro area | Median salary | Employed |
|---|---|---|
| New Hampshire | $59,330 | 70 |
NJ
| Metro area | Median salary | Employed |
|---|---|---|
| New Jersey | $65,340 | 440 |
NM
| Metro area | Median salary | Employed |
|---|---|---|
| Northern New Mexico | $107,680 | 110 |
| Las Cruces, NM | $81,800 | 30 |
| Albuquerque, NM | $77,130 | 270 |
| New Mexico | $75,920 | 410 |
| Farmington, NM | $66,370 | 40 |
| Eastern New Mexico | $60,080 | 100 |
NV
| Metro area | Median salary | Employed |
|---|---|---|
| Balance of Nevada | $100,170 | 70 |
| Reno, NV | $65,120 | 110 |
| Nevada | $62,910 | 340 |
| Las Vegas, NV | $56,320 | 150 |
NY
| Metro area | Median salary | Employed |
|---|---|---|
| New York, NY-NJ | $72,820 | 1,170 |
| Southwest New York | $69,290 | 40 |
| New York | $62,290 | 1,450 |
| Capital/Northern New York | $61,780 | 40 |
| Kiryas Joel, NY | $58,070 | 40 |
| Albany, NY | $55,990 | 90 |
| Rochester, NY | $55,050 | 60 |
| Syracuse, NY | $54,980 | 30 |
| Buffalo, NY | $51,960 | 80 |
OH
| Metro area | Median salary | Employed |
|---|---|---|
| Cincinnati, OH-KY-IN | $70,320 | 260 |
| Southern Ohio | $63,080 | 60 |
| Akron, OH | $63,000 | 70 |
| Cleveland, OH | $60,390 | 110 |
| Ohio | $60,390 | 1,140 |
| Columbus, OH | $60,370 | 250 |
| Dayton, OH | $58,170 | 50 |
| Toledo, OH | $57,500 | 70 |
| West Northwestern Ohio | $57,280 | 70 |
| North Northeastern Ohio nonmetropolitan area (noncontiguous) | $56,330 | 50 |
| Eastern Ohio | $56,270 | 40 |
| Canton, OH | $55,580 | 50 |
OK
| Metro area | Median salary | Employed |
|---|---|---|
| Tulsa, OK | $60,160 | 60 |
| Northeast Oklahoma | $55,190 | 30 |
| Oklahoma | $53,420 | 290 |
| Southeast Oklahoma | $49,090 | 40 |
| Oklahoma City, OK | $36,130 | 120 |
OR
| Metro area | Median salary | Employed |
|---|---|---|
| Portland, OR-WA | $72,640 | 110 |
| Oregon | $68,640 | 190 |
Other
| Metro area | Median salary | Employed |
|---|---|---|
| District of Columbia | $61,030 | 30 |
PA
| Metro area | Median salary | Employed |
|---|---|---|
| Central Pennsylvania | $62,920 | 50 |
| Allentown, PA-NJ | $62,640 | 120 |
| Reading, PA | $61,010 | 40 |
| Lancaster, PA | $60,840 | 30 |
| Harrisburg, PA | $60,800 | 60 |
| York, PA | $60,750 | 60 |
| Northeastern Pennsylvania | $60,660 | 30 |
| Scranton, PA | $60,570 | 60 |
| Pittsburgh, PA | $60,460 | 140 |
| Pennsylvania | $60,050 | 870 |
| Philadelphia, PA-NJ-DE-MD | $59,770 | 430 |
PR
| Metro area | Median salary | Employed |
|---|---|---|
| San Juan, PR | $33,340 | 90 |
RI
| Metro area | Median salary | Employed |
|---|---|---|
| Rhode Island | $79,530 | 60 |
| Providence, RI-MA | $69,570 | 80 |
SC
| Metro area | Median salary | Employed |
|---|---|---|
| South Carolina | $55,270 | 440 |
| Spartanburg, SC | $55,100 | 40 |
| Greenville, SC | $53,570 | 80 |
| Charleston, SC | $51,960 | 70 |
| Columbia, SC | $49,370 | 70 |
TN
| Metro area | Median salary | Employed |
|---|---|---|
| Memphis, TN-MS-AR | $51,310 | 140 |
| Tennessee | $51,210 | 480 |
| Nashville, TN | $47,890 | 210 |
| Knoxville, TN | $46,770 | 50 |
TX
| Metro area | Median salary | Employed |
|---|---|---|
| Midland, TX | $66,670 | 90 |
| Coastal Plains Region of Texas | $62,750 | 80 |
| Odessa, TX | $61,850 | 30 |
| Tyler, TX | $58,390 | 30 |
| Amarillo, TX | $58,300 | 30 |
| Corpus Christi, TX | $58,290 | 40 |
| Beaumont, TX | $57,520 | 70 |
| Waco, TX | $55,260 | 30 |
| Killeen, TX | $53,990 | 50 |
| Northwestern Region of Texas | $52,340 | 90 |
| Dallas, TX | $51,570 | 1,560 |
| North Region of Texas | $51,270 | 70 |
| Houston, TX | $49,980 | 1,900 |
| Texas | $49,690 | 5,140 |
| Austin, TX | $49,650 | 310 |
| San Antonio, TX | $48,440 | 270 |
| College Station, TX | $43,980 | 50 |
| Hill Country Region of Texas | $43,630 | 40 |
| Longview, TX | $42,860 | 80 |
| El Paso, TX | $41,320 | 110 |
UT
| Metro area | Median salary | Employed |
|---|---|---|
| High Desert Utah | $72,800 | — |
| Provo, UT | $63,520 | 30 |
| Salt Lake City, UT | $63,510 | 100 |
| Utah | $63,510 | 220 |
VA
| Metro area | Median salary | Employed |
|---|---|---|
| Southern West Virginia | $90,210 | 100 |
| Southwest Virginia | $89,770 | 40 |
| Lynchburg, VA | $85,410 | 60 |
| Harrisonburg, VA | $59,460 | 40 |
| Virginia | $59,340 | 810 |
| Winchester, VA-WV | $59,340 | 40 |
| Virginia Beach, VA-NC | $58,660 | 190 |
| West Virginia | $57,500 | 170 |
| Northern West Virginia | $57,090 | — |
| Richmond, VA | $51,740 | 230 |
| Roanoke, VA | $47,830 | 30 |
VT
| Metro area | Median salary | Employed |
|---|---|---|
| Burlington, VT | $56,160 | 80 |
| Vermont | $56,160 | 100 |
WA
| Metro area | Median salary | Employed |
|---|---|---|
| Washington | $80,270 | 600 |
| Seattle, WA | $69,430 | 190 |
| Spokane, WA | $50,720 | 40 |
WI
| Metro area | Median salary | Employed |
|---|---|---|
| Madison, WI | $76,720 | 80 |
| Appleton, WI | $67,790 | 30 |
| Milwaukee, WI | $64,860 | 230 |
| Kenosha, WI | $63,790 | 70 |
| Wisconsin | $63,790 | 900 |
| Oshkosh, WI | $63,370 | 40 |
| Green Bay, WI | $62,380 | 50 |
| Western Wisconsin | $62,140 | 50 |
| Northeastern Wisconsin | $58,310 | 50 |
| South Central Wisconsin | $48,930 | 80 |
WY
| Metro area | Median salary | Employed |
|---|---|---|
| Cheyenne, WY | $64,650 | 30 |
| Wyoming | $64,650 | 60 |