Best US Cities for HVAC Technicians
Top US cities for HVAC Technicians ranked by estimated median salary, with cost-of-living-adjusted earning power.
| # | City | Estimated salary | Cost mult. | vs national |
|---|---|---|---|---|
| 1 | Oakland, CA | $71,800 | 1.35× | +$19,800 |
| 2 | San Francisco, CA | $68,400 | 1.45× | +$16,400 |
| 3 | Long Beach, CA | $65,000 | 1.18× | +$13,000 |
| 4 | New York City, NY | $63,600 | 1.32× | +$11,600 |
| 5 | Los Angeles, CA | $63,600 | 1.22× | +$11,600 |
| 6 | Honolulu, HI | $62,900 | 1.30× | +$10,900 |
| 7 | Irvine, CA | $62,900 | 1.30× | +$10,900 |
| 8 | Anchorage, AK | $62,900 | 1.20× | +$10,900 |
| 9 | Seattle, WA | $62,100 | 1.18× | +$10,100 |
| 10 | Anaheim, CA | $62,100 | 1.18× | +$10,100 |
| # | City | Salary | Hourly |
|---|---|---|---|
| 1 | Oakland, CA | $71,800 | $35/hr |
| 2 | San Francisco, CA | $68,400 | $33/hr |
| 3 | Long Beach, CA | $65,000 | $31/hr |
| 4 | New York City, NY | $63,600 | $31/hr |
| 5 | Los Angeles, CA | $63,600 | $31/hr |
| 6 | Honolulu, HI | $62,900 | $30/hr |
| 7 | Irvine, CA | $62,900 | $30/hr |
| 8 | Anchorage, AK | $62,900 | $30/hr |
| 9 | Seattle, WA | $62,100 | $30/hr |
| 10 | Anaheim, CA | $62,100 | $30/hr |
| 11 | Newark, NJ | $61,700 | $30/hr |
| 12 | Boston, MA | $60,000 | $29/hr |
| 13 | Chicago, IL | $59,700 | $29/hr |
| 14 | Baltimore, MD | $59,700 | $29/hr |
| 15 | Hialeah, FL | $59,700 | $29/hr |
| 16 | San Diego, CA | $59,600 | $29/hr |
| 17 | Las Vegas, NV | $59,400 | $29/hr |
| 18 | Yonkers, NY | $59,300 | $29/hr |
| 19 | Portland, OR | $58,900 | $28/hr |
| 20 | Riverside, CA | $58,900 | $28/hr |
| 21 | Scottsdale, AZ | $58,600 | $28/hr |
| 22 | Tampa, FL | $58,500 | $28/hr |
| 23 | Reno, NV | $58,500 | $28/hr |
| 24 | Charleston, SC | $58,500 | $28/hr |
| 25 | Denver, CO | $58,200 | $28/hr |
| 26 | North Las Vegas, NV | $57,700 | $28/hr |
| 27 | Chula Vista, CA | $57,500 | $28/hr |
| 28 | Stockton, CA | $57,000 | $27/hr |
| 29 | Aurora, CO | $57,000 | $27/hr |
| 30 | Frisco, TX | $57,000 | $27/hr |
| 31 | Norfolk, VA | $56,900 | $27/hr |
| 32 | Jacksonville, FL | $56,500 | $27/hr |
| 33 | Charlotte, NC | $56,500 | $27/hr |
| 34 | Miami, FL | $56,400 | $27/hr |
| 35 | Houston, TX | $56,100 | $27/hr |
| 36 | Fort Worth, TX | $56,100 | $27/hr |
| 37 | Glendale, AZ | $56,100 | $27/hr |
| 38 | Garland, TX | $56,100 | $27/hr |
| 39 | Spokane, WA | $56,100 | $27/hr |
| 40 | Atlanta, GA | $55,900 | $27/hr |
| 41 | Henderson, NV | $55,900 | $27/hr |
| 42 | Arlington, TX | $55,700 | $27/hr |
| 43 | Sacramento, CA | $55,600 | $27/hr |
| 44 | Virginia Beach, VA | $55,100 | $26/hr |
| 45 | Chesapeake, VA | $55,100 | $26/hr |
| 46 | Boise, ID | $55,100 | $26/hr |
| 47 | Fresno, CA | $55,100 | $26/hr |
| 48 | Dallas, TX | $54,700 | $26/hr |
| 49 | Nashville, TN | $54,700 | $26/hr |
| 50 | Bakersfield, CA | $54,700 | $26/hr |
| 51 | Corpus Christi, TX | $54,500 | $26/hr |
| 52 | Greensboro, NC | $54,500 | $26/hr |
| 53 | El Paso, TX | $54,100 | $26/hr |
| 54 | Mesa, AZ | $54,000 | $26/hr |
| 55 | Austin, TX | $53,800 | $26/hr |
| 56 | Indianapolis, IN | $53,700 | $26/hr |
| 57 | Louisville, KY | $53,700 | $26/hr |
| 58 | Minneapolis, MN | $53,500 | $26/hr |
| 59 | Plano, TX | $53,500 | $26/hr |
| 60 | Chandler, AZ | $53,500 | $26/hr |
| 61 | Milwaukee, WI | $52,800 | $25/hr |
| 62 | Albuquerque, NM | $52,800 | $25/hr |
| 63 | New Orleans, LA | $52,800 | $25/hr |
| 64 | Phoenix, AZ | $52,700 | $25/hr |
| 65 | Philadelphia, PA | $52,700 | $25/hr |
| 66 | Gilbert, AZ | $52,700 | $25/hr |
| 67 | Salt Lake City, UT | $52,700 | $25/hr |
| 68 | Grand Rapids, MI | $52,500 | $25/hr |
| 69 | Orlando, FL | $52,400 | $25/hr |
| 70 | Fort Wayne, IN | $52,100 | $25/hr |
| 71 | Columbus, OH | $52,000 | $25/hr |
| 72 | Detroit, MI | $52,000 | $25/hr |
| 73 | Cincinnati, OH | $52,000 | $25/hr |
| 74 | Kansas City, MO | $52,000 | $25/hr |
| 75 | Wilmington, DE | $52,000 | $25/hr |
| 76 | Lexington, KY | $52,000 | $25/hr |
| 77 | Raleigh, NC | $52,000 | $25/hr |
| 78 | St. Paul, MN | $52,000 | $25/hr |
| 79 | Knoxville, TN | $52,000 | $25/hr |
| 80 | Worcester, MA | $52,000 | $25/hr |
| 81 | Cleveland, OH | $51,600 | $25/hr |
| 82 | St. Louis, MO | $51,600 | $25/hr |
| 83 | Colorado Springs, CO | $51,600 | $25/hr |
| 84 | St. Petersburg, FL | $51,600 | $25/hr |
| 85 | Madison, WI | $51,600 | $25/hr |
| 86 | Omaha, NE | $51,300 | $25/hr |
| 87 | Memphis, TN | $50,900 | $24/hr |
| 88 | Oklahoma City, OK | $50,900 | $24/hr |
| 89 | Tucson, AZ | $50,500 | $24/hr |
| 90 | Birmingham, AL | $50,500 | $24/hr |
| 91 | Toledo, OH | $50,500 | $24/hr |
| 92 | Lubbock, TX | $50,500 | $24/hr |
| 93 | Pittsburgh, PA | $50,200 | $24/hr |
| 94 | Tallahassee, FL | $50,200 | $24/hr |
| 95 | Wichita, KS | $49,700 | $24/hr |
| 96 | Mobile, AL | $49,700 | $24/hr |
| 97 | San Antonio, TX | $49,500 | $24/hr |
| 98 | Buffalo, NY | $49,100 | $24/hr |
| 99 | Winston-Salem, NC | $48,700 | $23/hr |
| 100 | Lincoln, NE | $48,000 | $23/hr |
Does location actually decide HVAC Technician pay?
This is a career where location is not negotiable — the work has to be done on site. That makes the 50% gap across these metros consequential in a way it is not for desk-based occupations: capturing the top of this list means moving to it.
Worth checking before you plan around these numbers: HVAC Technician needs EPA Section 608 refrigerant certification federally required; many states add a license, and reciprocity between states varies from automatic to nonexistent. The higher-paying metro is only worth what you can actually earn there after re-credentialing.
Highest-paying is not the same as best-off
The number that ranks these metros is not the number you live on. In Oakland, $71,800 against $2,100/month rent leaves roughly $46,600 a year after housing. In Lincoln, $48,000 against $950 leaves about $36,600. The top still wins after rent, but by $10,000 rather than the $23,800 the headline suggests.
Why these metros and not others
The metros at the top are not simply the expensive ones; they are where the hiring is. Oakland (Kaiser Permanente (HQ), Port of Oakland); San Francisco (Salesforce, Google); Long Beach (Port of Long Beach, Long Beach Memorial Medical Center). Depth of demand for trades work is what lifts pay above the local baseline, and it is why two equally costly cities can pay this role differently.
Salaries are modelled from BLS national medians adjusted for local price level at a wage elasticity below 1 — pay rises with local costs but not proportionally. See our methodology.