Environmental Engineers Salary by City
BLS OEWS May 2025 • 250 metro areas
Compare Environmental Engineers salaries & buying power
Pick two cities to see how salary and purchasing power differ.
Environmental Engineers
inAll metros — Environmental Engineers salaries
AK
| Metro area | Median salary | Employed |
|---|---|---|
| Alaska | $123,580 | 50 |
| Alaska | $113,800 | 240 |
| Anchorage, AK | $110,800 | 150 |
| Fairbanks, AK | $108,040 | 40 |
AL
| Metro area | Median salary | Employed |
|---|---|---|
| Decatur, AL | $122,010 | 60 |
| Southwest Alabama | $109,620 | 40 |
| Huntsville, AL | $106,920 | 90 |
| Birmingham, AL | $104,280 | 110 |
| Mobile, AL | $103,990 | 70 |
| Alabama | $100,060 | 660 |
| Montgomery, AL | $90,670 | 150 |
AR
| Metro area | Median salary | Employed |
|---|---|---|
| Arkansas | $84,600 | 260 |
| Little Rock, AR | $77,290 | 130 |
AZ
| Metro area | Median salary | Employed |
|---|---|---|
| Phoenix, AZ | $93,390 | 490 |
| Arizona | $92,470 | 30 |
| Arizona | $91,520 | 620 |
| Tucson, AZ | $82,120 | 50 |
CA
| Metro area | Median salary | Employed |
|---|---|---|
| San Francisco, CA | $142,000 | 580 |
| Stockton, CA | $138,700 | 40 |
| Redding, CA | $137,810 | 40 |
| Vallejo, CA | $136,640 | 30 |
| Oxnard, CA | $134,700 | 90 |
| Sacramento, CA | $130,830 | 1,200 |
| San Jose, CA | $130,260 | 180 |
| California | $127,660 | 4,770 |
| San Luis Obispo, CA | $126,850 | 50 |
| San Diego, CA | $125,890 | 460 |
| Salinas, CA | $124,180 | 30 |
| Santa Rosa, CA | $123,960 | 80 |
| Santa Maria, CA | $120,290 | 50 |
| Los Angeles, CA | $119,780 | 1,270 |
| Fresno, CA | $118,760 | 120 |
| Bakersfield, CA | $118,560 | 60 |
| Riverside, CA | $109,830 | 240 |
| Santa Cruz, CA | $106,760 | 40 |
CO
| Metro area | Median salary | Employed |
|---|---|---|
| Colorado Springs, CO | $114,500 | 80 |
| Denver, CO | $104,850 | 1,050 |
| Boulder, CO | $103,530 | 90 |
| Fort Collins, CO | $102,950 | 90 |
| Colorado | $98,170 | 1,660 |
| Pueblo, CO | $63,090 | 30 |
CT
| Metro area | Median salary | Employed |
|---|---|---|
| Bridgeport, CT | $130,440 | 80 |
| New Haven, CT | $108,160 | — |
| Connecticut | $108,100 | 500 |
| Hartford, CT | $107,810 | 310 |
DC
| Metro area | Median salary | Employed |
|---|---|---|
| Washington, DC-VA-MD-WV | $125,240 | 930 |
FL
| Metro area | Median salary | Employed |
|---|---|---|
| Jacksonville, FL | $107,240 | 160 |
| Pensacola, FL | $102,590 | 40 |
| North Port, FL | $100,040 | 60 |
| Cape Coral, FL | $97,940 | 30 |
| Miami, FL | $96,200 | 250 |
| Tallahassee, FL | $91,160 | 40 |
| Florida | $89,850 | 1,410 |
| Gainesville, FL | $83,930 | 40 |
| Tampa, FL | $81,870 | 290 |
| Palm Bay, FL | $80,280 | 40 |
| Orlando, FL | $77,900 | 210 |
GA
| Metro area | Median salary | Employed |
|---|---|---|
| Augusta, GA-SC | $131,810 | 90 |
| Savannah, GA | $105,800 | 40 |
| Atlanta, GA | $94,950 | 560 |
| Georgia | $94,950 | 750 |
HI
| Metro area | Median salary | Employed |
|---|---|---|
| Hawaii | $105,230 | 260 |
| Urban Honolulu, HI | $105,050 | 220 |
IA
| Metro area | Median salary | Employed |
|---|---|---|
| Davenport, IA-IL | $96,560 | 30 |
| Iowa | $95,980 | 220 |
| Des Moines, IA | $92,160 | 110 |
ID
| Metro area | Median salary | Employed |
|---|---|---|
| Southeast-Central Idaho | $140,760 | 40 |
| Idaho | $85,390 | 400 |
| Boise City, ID | $73,200 | 90 |
IL
| Metro area | Median salary | Employed |
|---|---|---|
| Chicago, IL-IN | $107,550 | 1,050 |
| Illinois | $107,550 | 1,410 |
| Peoria, IL | $101,080 | 30 |
| Springfield, IL | $95,990 | 140 |
IN
| Metro area | Median salary | Employed |
|---|---|---|
| Indiana | $95,630 | 610 |
| Indianapolis, IN | $92,690 | 290 |
| Evansville, IN | $75,020 | 50 |
KS
| Metro area | Median salary | Employed |
|---|---|---|
| Kansas | $93,540 | 400 |
| Wichita, KS | $90,070 | 60 |
| Topeka, KS | $84,860 | 50 |
| Kansas | $81,480 | 90 |
KY
| Metro area | Median salary | Employed |
|---|---|---|
| Kentucky | $104,770 | 370 |
| Lexington, KY | $104,770 | 90 |
| Louisville/Jefferson County, KY-IN | $103,400 | 110 |
| Central Kentucky | $100,820 | 60 |
LA
| Metro area | Median salary | Employed |
|---|---|---|
| Baton Rouge, LA | $130,650 | 110 |
| Louisiana | $123,210 | 250 |
| New Orleans, LA | $108,280 | 60 |
MA
| Metro area | Median salary | Employed |
|---|---|---|
| Pittsfield, MA | $119,190 | 60 |
| Boston, MA-NH | $116,980 | 1,170 |
| Massachusetts | $116,980 | 1,410 |
| Springfield, MA | $116,570 | 50 |
| Worcester, MA | $105,240 | 90 |
| Amherst Town, MA | $104,600 | 30 |
| Barnstable Town, MA | $103,840 | 60 |
MD
| Metro area | Median salary | Employed |
|---|---|---|
| Baltimore, MD | $94,830 | 740 |
| Maryland | $94,830 | 1,140 |
ME
| Metro area | Median salary | Employed |
|---|---|---|
| Portland, ME | $96,170 | 110 |
| Maine | $85,050 | 220 |
| Southwest Maine | $72,830 | 60 |
MI
| Metro area | Median salary | Employed |
|---|---|---|
| Detroit, MI | $102,590 | 430 |
| Jackson, MI | $102,160 | 30 |
| Grand Rapids, MI | $100,210 | 90 |
| Michigan | $100,090 | 880 |
| Upper Peninsula of Michigan | $93,600 | 30 |
| Lansing, MI | $92,620 | 110 |
| Ann Arbor, MI | $92,410 | 70 |
MN
| Metro area | Median salary | Employed |
|---|---|---|
| Rochester, MN | $115,600 | 40 |
| Minneapolis, MN-WI | $108,380 | 660 |
| Mankato, MN | $107,120 | 50 |
| Minnesota | $104,980 | 980 |
| Duluth, MN-WI | $89,880 | 70 |
| Northwest Minnesota | $86,470 | 90 |
MO
| Metro area | Median salary | Employed |
|---|---|---|
| St. Louis, MO-IL | $101,580 | 220 |
| Kansas City, MO-KS | $94,040 | 250 |
| Missouri | $87,360 | 360 |
MS
| Metro area | Median salary | Employed |
|---|---|---|
| Upper East Mississippi | $115,210 | 50 |
| Mississippi | $81,780 | 260 |
| Jackson, MS | $72,550 | 150 |
| Gulfport, MS | $69,560 | 30 |
MT
| Metro area | Median salary | Employed |
|---|---|---|
| Billings, MT | $111,110 | 40 |
| Helena, MT | $99,180 | 30 |
| Montana | $96,320 | 200 |
| Southwest Montana | $83,230 | 40 |
NC
| Metro area | Median salary | Employed |
|---|---|---|
| Wilmington, NC | $119,350 | 30 |
| Durham, NC | $118,550 | 80 |
| Eastern North Carolina | $107,490 | 30 |
| North Carolina | $104,040 | 690 |
| Raleigh, NC | $104,040 | 230 |
| Greensboro, NC | $98,390 | 80 |
| Charlotte, NC-SC | $95,850 | 140 |
ND
| Metro area | Median salary | Employed |
|---|---|---|
| Bismarck, ND | $90,000 | 40 |
| North Dakota | $87,590 | 130 |
| Grand Forks, ND-MN | $85,980 | 40 |
NE
| Metro area | Median salary | Employed |
|---|---|---|
| Lincoln, NE | $101,350 | 80 |
| Omaha, NE-IA | $99,120 | 110 |
| Nebraska | $91,100 | 310 |
NH
| Metro area | Median salary | Employed |
|---|---|---|
| Central New Hampshire | $101,570 | 70 |
| Manchester, NH | $97,830 | 90 |
| New Hampshire | $83,880 | 290 |
NJ
| Metro area | Median salary | Employed |
|---|---|---|
| New Jersey | $98,980 | 1,010 |
| Trenton, NJ | $86,120 | 280 |
NM
| Metro area | Median salary | Employed |
|---|---|---|
| Eastern New Mexico | $106,870 | 60 |
| Albuquerque, NM | $104,410 | 270 |
| New Mexico | $103,770 | 480 |
| Northern New Mexico | $99,090 | 90 |
NV
| Metro area | Median salary | Employed |
|---|---|---|
| Reno, NV | $116,170 | 40 |
| Las Vegas, NV | $112,330 | 90 |
| Nevada | $112,330 | 210 |
| Balance of Nevada | $104,600 | 70 |
NY
| Metro area | Median salary | Employed |
|---|---|---|
| Central East New York | $111,890 | 30 |
| New York, NY-NJ | $105,040 | 1,610 |
| Binghamton, NY | $103,150 | 30 |
| Rochester, NY | $98,170 | 180 |
| New York | $97,870 | 2,560 |
| Kiryas Joel, NY | $96,600 | 70 |
| Albany, NY | $95,000 | 440 |
| Buffalo, NY | $94,940 | 210 |
| Southwest New York | $94,430 | 60 |
| Capital/Northern New York | $92,350 | 40 |
| Syracuse, NY | $89,680 | 200 |
| Utica, NY | $88,710 | 40 |
OH
| Metro area | Median salary | Employed |
|---|---|---|
| Cincinnati, OH-KY-IN | $115,070 | 200 |
| Dayton, OH | $108,970 | 50 |
| Cleveland, OH | $108,160 | 120 |
| Columbus, OH | $106,910 | 140 |
| Ohio | $106,070 | 970 |
| North Northeastern Ohio nonmetropolitan area (noncontiguous) | $105,060 | — |
| Toledo, OH | $103,080 | 90 |
| Akron, OH | $95,640 | 60 |
OK
| Metro area | Median salary | Employed |
|---|---|---|
| Southeast Oklahoma | $108,140 | 30 |
| Tulsa, OK | $103,400 | 120 |
| Oklahoma | $87,840 | 540 |
| Oklahoma City, OK | $83,600 | 330 |
OR
| Metro area | Median salary | Employed |
|---|---|---|
| Bend, OR | $140,590 | 60 |
| Salem, OR | $130,890 | 60 |
| Oregon | $130,370 | 740 |
| Corvallis, OR | $124,020 | 40 |
| Portland, OR-WA | $122,290 | 470 |
| Eugene, OR | $118,930 | 40 |
Other
| Metro area | Median salary | Employed |
|---|---|---|
| District of Columbia | $125,980 | 170 |
PA
| Metro area | Median salary | Employed |
|---|---|---|
| Allentown, PA-NJ | $106,640 | 30 |
| Philadelphia, PA-NJ-DE-MD | $101,980 | 760 |
| Reading, PA | $101,060 | 30 |
| Pittsburgh, PA | $97,760 | 340 |
| Pennsylvania | $94,880 | 1,420 |
| Northwestern Pennsylvania | $94,040 | 30 |
| York, PA | $91,250 | 40 |
| Harrisburg, PA | $86,130 | 170 |
| Scranton, PA | $83,130 | 50 |
PR
| Metro area | Median salary | Employed |
|---|---|---|
| San Juan, PR | $75,360 | 180 |
RI
| Metro area | Median salary | Employed |
|---|---|---|
| Providence, RI-MA | $106,620 | 130 |
| Rhode Island | $106,620 | 90 |
SC
| Metro area | Median salary | Employed |
|---|---|---|
| South Carolina | $99,040 | 490 |
| Greenville, SC | $95,880 | 60 |
| Charleston, SC | $93,430 | 110 |
| Columbia, SC | $80,380 | 90 |
SD
| Metro area | Median salary | Employed |
|---|---|---|
| Sioux Falls, SD-MN | $99,480 | 30 |
| Rapid City, SD | $91,320 | — |
| South Dakota | $91,320 | 110 |
TN
| Metro area | Median salary | Employed |
|---|---|---|
| Nashville, TN | $97,970 | 230 |
| Memphis, TN-MS-AR | $94,510 | 90 |
| Kingsport, TN-VA | $94,450 | 40 |
| Tennessee | $87,920 | 840 |
| Knoxville, TN | $84,230 | 230 |
| Chattanooga, TN-GA | $63,370 | 80 |
TX
| Metro area | Median salary | Employed |
|---|---|---|
| Midland, TX | $139,230 | 40 |
| Beaumont, TX | $125,950 | 50 |
| Corpus Christi, TX | $125,330 | 30 |
| Houston, TX | $110,500 | 640 |
| Dallas, TX | $108,560 | 360 |
| Texas | $108,560 | 1,710 |
| San Antonio, TX | $104,910 | 180 |
| Austin, TX | $104,080 | 140 |
| Longview, TX | $101,810 | 40 |
UT
| Metro area | Median salary | Employed |
|---|---|---|
| Ogden, UT | $111,180 | 80 |
| Utah | $99,180 | 430 |
| Salt Lake City, UT | $96,180 | 250 |
| Provo, UT | $95,860 | 40 |
| High Desert Utah | $83,250 | 30 |
VA
| Metro area | Median salary | Employed |
|---|---|---|
| Virginia | $103,480 | 1,240 |
| West Virginia | $99,830 | 470 |
| Virginia Beach, VA-NC | $99,250 | 320 |
| Northern West Virginia | $93,910 | 80 |
| Richmond, VA | $93,270 | 170 |
| Southwest Virginia | $80,140 | 30 |
VT
| Metro area | Median salary | Employed |
|---|---|---|
| Burlington, VT | $109,880 | 40 |
| Vermont | $85,950 | 70 |
| Northern Vermont | $84,490 | 50 |
WA
| Metro area | Median salary | Employed |
|---|---|---|
| Kennewick, WA | $138,090 | 290 |
| Seattle, WA | $115,770 | 620 |
| Washington | $115,770 | 1,330 |
| Bremerton, WA | $113,590 | 60 |
| Olympia, WA | $105,090 | 140 |
| Spokane, WA | $97,790 | 80 |
WI
| Metro area | Median salary | Employed |
|---|---|---|
| Green Bay, WI | $96,200 | 70 |
| Northeastern Wisconsin | $94,740 | 30 |
| Eau Claire, WI | $93,700 | 30 |
| Milwaukee, WI | $93,020 | 220 |
| Wisconsin | $89,270 | 760 |
| Madison, WI | $88,130 | 170 |
| South Central Wisconsin | $78,230 | 50 |
| Appleton, WI | $75,500 | 30 |
WV
| Metro area | Median salary | Employed |
|---|---|---|
| Charleston, WV | $99,830 | 210 |
| Beckley, WV | $72,760 | 40 |
WY
| Metro area | Median salary | Employed |
|---|---|---|
| Cheyenne, WY | $115,740 | 40 |
| Western Wyoming | $106,820 | 50 |
| Eastern Wyoming | $104,540 | 60 |
| Wyoming | $104,540 | 170 |