Maintenance Workers, Machinery Salary by City
BLS OEWS May 2025 • 370 metro areas
Compare Maintenance Workers, Machinery salaries & buying power
Pick two cities to see how salary and purchasing power differ.
Maintenance Workers, Machinery
in
All metros — Maintenance Workers, Machinery salaries
AL
| Metro area | Median salary | Employed |
|---|---|---|
| Birmingham, AL | $63,170 | 80 |
| Tuscaloosa, AL | $62,630 | 30 |
| Alabama | $55,320 | 600 |
| Montgomery, AL | $51,000 | 120 |
| Northeast Alabama | $43,030 | 140 |
AR
| Metro area | Median salary | Employed |
|---|---|---|
| Little Rock, AR | $57,720 | 110 |
| Fort Smith, AR-OK | $56,500 | 40 |
| West Arkansas | $52,690 | 150 |
| Fayetteville, AR | $49,330 | 120 |
| Arkansas | $49,150 | 690 |
| South Arkansas | $48,630 | 180 |
| East Arkansas | $47,680 | 50 |
| North Arkansas | $45,140 | 30 |
AZ
| Metro area | Median salary | Employed |
|---|---|---|
| Arizona | $55,860 | 480 |
| Phoenix, AZ | $55,860 | 350 |
| Lake Havasu City, AZ | $51,140 | 30 |
| Tucson, AZ | $50,310 | 40 |
CA
| Metro area | Median salary | Employed |
|---|---|---|
| San Jose, CA | $80,290 | 170 |
| Vallejo, CA | $78,780 | 30 |
| San Francisco, CA | $74,080 | 280 |
| San Diego, CA | $73,030 | 280 |
| Oxnard, CA | $72,350 | 130 |
| Los Angeles, CA | $70,990 | 1,040 |
| Napa, CA | $68,230 | 30 |
| California | $66,120 | 3,730 |
| Stockton, CA | $65,040 | 140 |
| Santa Maria, CA | $63,890 | 40 |
| Merced, CA | $63,730 | 50 |
| Redding, CA | $63,160 | 30 |
| Salinas, CA | $63,080 | 30 |
| Sacramento, CA | $61,540 | 200 |
| Bakersfield, CA | $61,320 | 120 |
| Riverside, CA | $60,860 | 470 |
| Modesto, CA | $60,370 | 50 |
| Fresno, CA | $60,320 | 230 |
| North Valley-Northern Mountains Region of California | $59,050 | 40 |
| Visalia, CA | $58,140 | 40 |
| Santa Rosa, CA | $50,910 | 60 |
CO
| Metro area | Median salary | Employed |
|---|---|---|
| Boulder, CO | $67,770 | 50 |
| Colorado | $61,950 | 690 |
| Denver, CO | $61,390 | 350 |
| Pueblo, CO | $61,100 | 50 |
| Greeley, CO | $60,830 | 40 |
| Colorado Springs, CO | $60,770 | 50 |
CT
| Metro area | Median salary | Employed |
|---|---|---|
| New Haven, CT | $80,660 | 130 |
| Bridgeport, CT | $63,970 | 70 |
| Hartford, CT | $62,820 | 230 |
| Connecticut | $62,640 | 540 |
| Connecticut | $59,860 | 30 |
| Waterbury, CT | $55,130 | 60 |
DC
| Metro area | Median salary | Employed |
|---|---|---|
| Washington, DC-VA-MD-WV | $58,400 | 470 |
DE
| Metro area | Median salary | Employed |
|---|---|---|
| Delaware | $62,790 | 40 |
FL
| Metro area | Median salary | Employed |
|---|---|---|
| Miami, FL | $65,500 | 920 |
| Orlando, FL | $64,750 | 1,030 |
| North Florida | $61,990 | 50 |
| Jacksonville, FL | $60,300 | 110 |
| Florida | $60,010 | 2,780 |
| Port St. Lucie, FL | $56,970 | 50 |
| Palm Bay, FL | $56,630 | 50 |
| Lakeland, FL | $53,470 | 60 |
| Cape Coral, FL | $52,290 | 40 |
| North Port, FL | $50,960 | 30 |
| Tampa, FL | $50,370 | 190 |
| Ocala, FL | $48,890 | 40 |
| Pensacola, FL | $48,270 | 40 |
GA
| Metro area | Median salary | Employed |
|---|---|---|
| East Georgia | $62,170 | 70 |
| South Georgia | $59,710 | 140 |
| Augusta, GA-SC | $58,490 | 100 |
| Middle Georgia | $56,560 | 70 |
| Savannah, GA | $56,130 | 80 |
| Georgia | $55,390 | 2,350 |
| Atlanta, GA | $53,970 | 1,110 |
| North Georgia | $50,340 | 110 |
| Warner Robins, GA | $50,040 | 60 |
| Columbus, GA-AL | $49,360 | 30 |
| Macon, GA | $48,810 | 40 |
| Dalton, GA | $47,960 | 80 |
| Rome, GA | $46,630 | 30 |
GU
| Metro area | Median salary | Employed |
|---|---|---|
| Guam | $44,280 | 30 |
HI
| Metro area | Median salary | Employed |
|---|---|---|
| Hawaii | $69,620 | 30 |
IA
| Metro area | Median salary | Employed |
|---|---|---|
| Cedar Rapids, IA | $74,540 | 30 |
| Des Moines, IA | $67,480 | 120 |
| Waterloo, IA | $64,040 | 50 |
| Davenport, IA-IL | $63,110 | 40 |
| Southeast Iowa | $62,130 | 230 |
| Iowa | $61,990 | 900 |
| Northwest Iowa | $61,980 | 180 |
| Southwest Iowa | $61,450 | 60 |
| Northeast Iowa | $61,420 | 70 |
ID
| Metro area | Median salary | Employed |
|---|---|---|
| Idaho Falls, ID | $78,110 | 50 |
| Southeast-Central Idaho | $55,340 | 80 |
| Idaho | $54,770 | 310 |
| Boise City, ID | $52,420 | 90 |
IL
| Metro area | Median salary | Employed |
|---|---|---|
| Chicago, IL-IN | $63,820 | 300 |
| Illinois | $60,310 | 460 |
| South Illinois | $53,370 | 70 |
| Northwest Illinois | $46,580 | 30 |
IN
| Metro area | Median salary | Employed |
|---|---|---|
| Columbus, IN | $82,930 | 70 |
| Indianapolis, IN | $65,000 | 240 |
| Evansville, IN | $64,140 | 90 |
| Lafayette, IN | $62,210 | 60 |
| Indiana | $58,930 | 1,220 |
| Northern Indiana | $57,200 | 190 |
| Central Indiana | $53,980 | 50 |
| Fort Wayne, IN | $53,710 | 60 |
| Elkhart, IN | $53,400 | 170 |
| Southern Indiana | $50,110 | 140 |
KS
| Metro area | Median salary | Employed |
|---|---|---|
| Lawrence, KS | $59,470 | 50 |
| Wichita, KS | $59,270 | 220 |
| Kansas | $59,180 | 1,280 |
| Topeka, KS | $58,710 | 150 |
| Kansas | $58,390 | 530 |
| Manhattan, KS | $56,040 | 60 |
KY
| Metro area | Median salary | Employed |
|---|---|---|
| East Kentucky | $72,000 | 120 |
| West Kentucky | $69,050 | 240 |
| Lexington, KY | $66,600 | 230 |
| Kentucky | $61,720 | 2,050 |
| Louisville/Jefferson County, KY-IN | $57,720 | 370 |
| Bowling Green, KY | $57,380 | 90 |
| Owensboro, KY | $57,220 | 40 |
| Elizabethtown, KY | $55,650 | 40 |
| South Central Kentucky | $54,700 | 220 |
| Central Kentucky | $53,480 | 320 |
LA
| Metro area | Median salary | Employed |
|---|---|---|
| Baton Rouge, LA | $77,920 | 240 |
| Monroe, LA | $64,510 | 40 |
| Central Louisiana | $62,750 | 80 |
| Louisiana | $60,740 | 1,150 |
| Southwest Louisiana | $60,320 | 60 |
| New Orleans, LA | $57,680 | 250 |
| Hammond, LA | $57,200 | 50 |
| Northeast Louisiana | $52,590 | 60 |
| Shreveport, LA | $52,300 | 70 |
| Lafayette, LA | $51,480 | 70 |
| Slidell, LA | $46,770 | 40 |
| Houma, LA | $46,280 | 50 |
| Lake Charles, LA | $44,520 | 80 |
MA
| Metro area | Median salary | Employed |
|---|---|---|
| Boston, MA-NH | $76,030 | 260 |
| Massachusetts | $64,420 | 310 |
MD
| Metro area | Median salary | Employed |
|---|---|---|
| Hagerstown, MD-WV | $59,750 | 160 |
| Maryland | $59,350 | 120 |
| Maryland | $59,130 | 1,560 |
| Baltimore, MD | $59,050 | 850 |
| Salisbury, MD | $59,010 | 40 |
| Lexington Park, MD | $45,190 | 40 |
ME
| Metro area | Median salary | Employed |
|---|---|---|
| Bangor, ME | $60,020 | 60 |
| Portland, ME | $59,500 | 90 |
| Lewiston, ME | $59,300 | 50 |
| Maine | $56,560 | 410 |
| Southwest Maine | $49,140 | 120 |
| Northeast Maine | $47,710 | 90 |
MI
| Metro area | Median salary | Employed |
|---|---|---|
| Jackson, MI | $65,090 | 40 |
| Grand Rapids, MI | $63,200 | 300 |
| Northern Michigan | $63,180 | 110 |
| Kalamazoo, MI | $62,560 | 30 |
| Muskegon, MI | $62,470 | 40 |
| Michigan | $59,960 | 1,570 |
| Ann Arbor, MI | $58,310 | 40 |
| Detroit, MI | $56,860 | 560 |
| Lansing, MI | $54,900 | 50 |
| Southern Michigan | $51,480 | 80 |
| Upper Peninsula of Michigan | $50,950 | 50 |
| Flint, MI | $48,820 | 30 |
| Mid Michigan | $48,600 | 70 |
MN
| Metro area | Median salary | Employed |
|---|---|---|
| Minneapolis, MN-WI | $67,490 | 400 |
| Rochester, MN | $67,390 | 30 |
| St. Cloud, MN | $64,710 | 60 |
| Northwest Minnesota | $64,610 | 60 |
| Minnesota | $63,450 | 840 |
| Southeast Minnesota | $63,080 | 130 |
| Southwest Minnesota | $49,350 | 50 |
MO
| Metro area | Median salary | Employed |
|---|---|---|
| St. Louis, MO-IL | $66,000 | 380 |
| Columbia, MO | $64,670 | 100 |
| Southwest Missouri | $63,090 | 50 |
| Kansas City, MO-KS | $62,310 | 430 |
| Missouri | $61,040 | 1,230 |
| St. Joseph, MO-KS | $61,040 | 50 |
| Springfield, MO | $60,770 | 120 |
| Joplin, MO-KS | $60,080 | 120 |
| North Missouri | $59,310 | 100 |
| Central Missouri | $55,550 | 90 |
| Southeast Missouri | $55,470 | 170 |
MS
| Metro area | Median salary | Employed |
|---|---|---|
| Jackson, MS | $55,050 | 70 |
| Mississippi | $54,480 | 490 |
| Lower East Mississippi | $54,170 | 30 |
| Gulfport, MS | $53,370 | 50 |
| Upper East Mississippi | $43,490 | 120 |
NC
| Metro area | Median salary | Employed |
|---|---|---|
| Durham, NC | $60,960 | 510 |
| Charlotte, NC-SC | $60,190 | 710 |
| Hickory, NC | $59,390 | 450 |
| North Carolina | $59,390 | 3,910 |
| Western North Carolina | $59,390 | 310 |
| Rocky Mount, NC | $59,170 | 100 |
| Winston, NC | $58,920 | 210 |
| Goldsboro, NC | $58,650 | 40 |
| Greenville, NC | $58,400 | 60 |
| Raleigh, NC | $57,730 | 250 |
| Fayetteville, NC | $57,090 | 60 |
| Greensboro, NC | $56,060 | 360 |
| Asheville, NC | $52,430 | 120 |
| Wilmington, NC | $50,360 | 50 |
| Eastern North Carolina | $49,600 | 250 |
| Central North Carolina | $49,510 | 220 |
| Burlington, NC | $47,300 | 120 |
NE
| Metro area | Median salary | Employed |
|---|---|---|
| Omaha, NE-IA | $63,210 | 360 |
| Nebraska | $58,800 | 820 |
| Lincoln, NE | $56,590 | 150 |
| Northeast Nebraska | $52,280 | 120 |
| South Nebraska | $48,270 | 150 |
NH
| Metro area | Median salary | Employed |
|---|---|---|
| Manchester, NH | $81,860 | 90 |
| New Hampshire | $75,060 | 170 |
NJ
| Metro area | Median salary | Employed |
|---|---|---|
| New Jersey | $49,530 | 250 |
NM
| Metro area | Median salary | Employed |
|---|---|---|
| Albuquerque, NM | $54,360 | 30 |
| Eastern New Mexico | $35,360 | — |
| New Mexico | $35,360 | — |
NV
| Metro area | Median salary | Employed |
|---|---|---|
| Balance of Nevada | $78,470 | 240 |
| Reno, NV | $61,680 | 130 |
| Nevada | $60,970 | 660 |
| Las Vegas, NV | $50,840 | 290 |
NY
| Metro area | Median salary | Employed |
|---|---|---|
| New York, NY-NJ | $70,090 | 1,000 |
| Utica, NY | $63,810 | 60 |
| Buffalo, NY | $62,690 | 280 |
| Kiryas Joel, NY | $62,450 | 130 |
| New York | $62,450 | 2,440 |
| Capital/Northern New York | $62,330 | 110 |
| Syracuse, NY | $62,010 | 170 |
| Rochester, NY | $61,840 | 250 |
| Glens Falls, NY | $61,470 | 40 |
| Central East New York | $61,400 | 60 |
| Southwest New York | $57,250 | 140 |
| Binghamton, NY | $50,490 | 30 |
| Albany, NY | $50,360 | 140 |
OH
| Metro area | Median salary | Employed |
|---|---|---|
| North Northeastern Ohio nonmetropolitan area (noncontiguous) | $66,650 | 290 |
| West Northwestern Ohio | $66,380 | 280 |
| Cincinnati, OH-KY-IN | $64,450 | 450 |
| Ohio | $62,610 | 2,180 |
| Eastern Ohio | $60,980 | 60 |
| Columbus, OH | $60,640 | 430 |
| Cleveland, OH | $57,560 | 260 |
| Dayton, OH | $57,330 | 110 |
| Youngstown, OH | $55,860 | 30 |
| Springfield, OH | $50,500 | 40 |
| Toledo, OH | $50,070 | 70 |
| Akron, OH | $49,930 | 110 |
| Canton, OH | $47,910 | 70 |
| Southern Ohio | $39,830 | 50 |
OK
| Metro area | Median salary | Employed |
|---|---|---|
| Tulsa, OK | $64,340 | 740 |
| Enid, OK | $62,050 | 40 |
| Northeast Oklahoma | $61,240 | 250 |
| Oklahoma | $61,240 | 1,790 |
| Lawton, OK | $60,390 | 50 |
| Oklahoma City, OK | $60,280 | 250 |
| Southwest Oklahoma | $59,140 | 80 |
| Northwest Oklahoma | $56,740 | 110 |
| Southeast Oklahoma | $55,010 | 250 |
OR
| Metro area | Median salary | Employed |
|---|---|---|
| Portland, OR-WA | $59,270 | 230 |
| Eugene, OR | $56,600 | 30 |
| Oregon | $56,600 | 440 |
| Coast Oregon | $56,590 | 50 |
| Salem, OR | $54,730 | 30 |
| Eastern Oregon | $52,890 | 30 |
Other
| Metro area | Median salary | Employed |
|---|---|---|
| District of Columbia | $51,800 | 40 |
PA
| Metro area | Median salary | Employed |
|---|---|---|
| Pittsburgh, PA | $71,230 | 200 |
| Reading, PA | $68,820 | 50 |
| Southwestern Pennsylvania | $65,540 | 130 |
| Central Pennsylvania | $64,850 | 70 |
| Pennsylvania | $62,970 | 1,270 |
| Allentown, PA-NJ | $60,550 | 110 |
| Philadelphia, PA-NJ-DE-MD | $60,450 | 300 |
| Harrisburg, PA | $59,130 | 70 |
| York, PA | $56,990 | 70 |
| Lancaster, PA | $55,380 | 40 |
| Northwestern Pennsylvania | $55,120 | 130 |
| Scranton, PA | $53,710 | 40 |
| Erie, PA | $43,510 | 40 |
PR
| Metro area | Median salary | Employed |
|---|---|---|
| Ponce, PR | $31,200 | 30 |
| San Juan, PR | $31,010 | 300 |
RI
| Metro area | Median salary | Employed |
|---|---|---|
| Rhode Island | $59,200 | — |
| Providence, RI-MA | $58,850 | — |
SC
| Metro area | Median salary | Employed |
|---|---|---|
| Charleston, SC | $77,150 | 200 |
| Greenville, SC | $64,570 | 170 |
| Spartanburg, SC | $64,070 | 60 |
| Columbia, SC | $63,340 | 230 |
| South Carolina | $62,610 | 1,040 |
| Northeastern South Carolina | $57,210 | 40 |
| Northwestern South Carolina | $54,710 | 120 |
| Florence, SC | $48,590 | 40 |
SD
| Metro area | Median salary | Employed |
|---|---|---|
| South Dakota | $48,350 | 60 |
TN
| Metro area | Median salary | Employed |
|---|---|---|
| Clarksville, TN-KY | $82,290 | 70 |
| North Central Tennessee | $66,400 | 60 |
| Jackson, TN | $66,230 | 90 |
| Tennessee | $64,980 | 1,400 |
| Morristown, TN | $64,740 | 60 |
| South Central Tennessee | $64,650 | 110 |
| West Tennessee | $64,630 | 60 |
| Knoxville, TN | $63,110 | 160 |
| Nashville, TN | $63,000 | 370 |
| Memphis, TN-MS-AR | $62,380 | 310 |
| Chattanooga, TN-GA | $61,050 | 190 |
| East Tennessee | $56,330 | 50 |
| Kingsport, TN-VA | $49,950 | 40 |
TX
| Metro area | Median salary | Employed |
|---|---|---|
| Beaumont, TX | $89,950 | 340 |
| Coastal Plains Region of Texas | $65,940 | 190 |
| Corpus Christi, TX | $64,800 | 150 |
| Waco, TX | $61,560 | 170 |
| Northwestern Region of Texas | $60,370 | 240 |
| Hill Country Region of Texas | $60,030 | 210 |
| Dallas, TX | $58,950 | 2,440 |
| Austin, TX | $58,780 | 500 |
| Killeen, TX | $58,690 | 130 |
| Texas | $57,500 | 8,850 |
| Houston, TX | $57,060 | 1,940 |
| San Antonio, TX | $56,810 | 880 |
| North Region of Texas | $56,430 | 360 |
| College Station, TX | $55,430 | 70 |
| Amarillo, TX | $55,420 | 60 |
| Tyler, TX | $55,240 | 40 |
| Wichita Falls, TX | $54,960 | 40 |
| Eastern Region of Texas | $53,700 | 90 |
| Longview, TX | $52,960 | 110 |
| Texarkana, TX-AR | $51,940 | 30 |
| Odessa, TX | $49,770 | 60 |
| Lubbock, TX | $47,380 | 80 |
| El Paso, TX | $47,340 | 150 |
| Brownsville, TX | $47,020 | 120 |
| Abilene, TX | $46,060 | 50 |
| Midland, TX | $45,170 | 110 |
| Sherman, TX | $43,500 | 40 |
| McAllen, TX | $40,550 | 100 |
UT
| Metro area | Median salary | Employed |
|---|---|---|
| High Desert Utah | $74,270 | 120 |
| Salt Lake City, UT | $70,050 | 820 |
| Utah | $63,820 | 1,470 |
| Ogden, UT | $61,970 | 230 |
| St. George, UT | $60,510 | 50 |
| Provo, UT | $59,540 | 160 |
| Wasatch Front Fringe Utah | $46,960 | 60 |
VA
| Metro area | Median salary | Employed |
|---|---|---|
| Winchester, VA-WV | $80,790 | 60 |
| Southwest Virginia | $80,710 | 120 |
| Southside Virginia | $74,310 | 100 |
| Northwest Virginia | $71,580 | 30 |
| Roanoke, VA | $71,520 | 80 |
| Virginia | $63,920 | 1,010 |
| Virginia Beach, VA-NC | $63,920 | 420 |
| Richmond, VA | $63,520 | 90 |
| Northern West Virginia | $61,240 | 120 |
| Charlottesville, VA | $59,340 | 30 |
| Blacksburg, VA | $57,580 | 30 |
| West Virginia | $55,380 | 580 |
| Southern West Virginia | $53,210 | 30 |
WA
| Metro area | Median salary | Employed |
|---|---|---|
| Seattle, WA | $82,040 | 290 |
| Kennewick, WA | $81,070 | 60 |
| Longview, WA | $75,260 | 30 |
| Eastern Washington | $70,840 | 50 |
| Washington | $63,420 | 590 |
| Western Washington | $61,400 | 40 |
| Spokane, WA | $61,300 | 60 |
WI
| Metro area | Median salary | Employed |
|---|---|---|
| Madison, WI | $64,780 | 100 |
| Milwaukee, WI | $64,420 | 110 |
| Green Bay, WI | $61,540 | 80 |
| Western Wisconsin | $60,750 | 30 |
| Wisconsin | $60,700 | 900 |
| South Central Wisconsin | $59,210 | 150 |
| Northeastern Wisconsin | $49,030 | 80 |
WV
| Metro area | Median salary | Employed |
|---|---|---|
| Morgantown, WV | $59,910 | 100 |
| Charleston, WV | $55,090 | 150 |
| Huntington, WV-KY-OH | $54,620 | 90 |
| Wheeling, WV-OH | $50,210 | 30 |
WY
| Metro area | Median salary | Employed |
|---|---|---|
| Western Wyoming | $108,110 | 140 |
| Wyoming | $85,830 | 310 |