Independent and free. No login, no email required. How we make money
FieldPricing

Data checked · source: US Bureau of Labor Statistics

What HVAC technicians charge per hour in the US

The wage numbers below are US government data. The billed rates are our estimate built on top of them, using a formula we publish in full.

The median HVAC technician in the United States earned $29.33 an hour in May 2025. A homeowner or building owner typically sees a billed rate of roughly $65–$94 an hour, because the shop also has to cover payroll taxes, insurance, vehicles, and profit.

Why the billed rate is not the wage

People often compare a technician's wage to their invoice and assume the shop is gouging them. The gap is real, and most of it is not profit.

A shop pays the wage, then payroll taxes, workers' compensation, liability insurance, health coverage, a truck, fuel, tools, parts inventory, a dispatcher, software, and the hours the technician spends driving rather than working. Those costs land on the billed hour.

We model it like this, and you can check our arithmetic:

Billed rate = wage × 1.3 (labor burden) × 1.7–2.45 (overhead and profit)

That works out to 2.21× to 3.19× the wage. For the US median HVAC technician wage of $29.33, that is $65 to $94 an hour. Small owner-operators land near the bottom. Large shops with dispatchers, financing and warranties land near the top.

The multiplier is our published assumption, not a government figure. We explain where it comes from and what would change it on the methodology page.

US wage spread for HVAC technicians, May 2025

PercentileHourly wageTypical billed rate
25th$23.25$51–$74
50th — median$29.33$65–$94
75th$37.05$82–$118

Wages: US Bureau of Labor Statistics, Occupational Employment and Wage Statistics, SOC 49-9021 — Heating, Air Conditioning, and Refrigeration Mechanics and Installers, May 2025. Billed rates are FieldPricing estimates.

HVAC technician rates by metro area

Wages for the same trade vary by more than 1.6× across US metro areas. San Jose-Sunnyvale-Santa Clara pays the most in our sample at $39.45 an hour; Tampa-St. Petersburg-Clearwater pays the least at $24.30. The index column compares each metro to the national median, so 120% means wages there run 20% above the US figure.

Metro areaMedian wagevs USTypical billed rate
San Jose-Sunnyvale-Santa Clara, CA$39.45135%$87–$126
Seattle-Tacoma-Bellevue, WA$38.51131%$85–$123
Boston-Cambridge-Newton, MA-NH$37.75129%$83–$120
San Francisco-Oakland-Fremont, CA$37.73129%$83–$120
New York-Newark-Jersey City, NY-NJ$37.50128%$83–$120
Chicago-Naperville-Elgin, IL-IN$37.48128%$83–$120
Minneapolis-St. Paul-Bloomington, MN-WI$37.25127%$82–$119
Hartford-West Hartford-East Hartford, CT$36.63125%$81–$117
San Diego-Chula Vista-Carlsbad, CA$36.00123%$80–$115
Los Angeles-Long Beach-Anaheim, CA$35.49121%$78–$113
Washington-Arlington-Alexandria, DC-VA-MD-WV$34.58118%$76–$110
Denver-Aurora-Centennial, CO$34.41117%$76–$110
Providence-Warwick, RI-MA$32.39110%$72–$103
Sacramento-Roseville-Folsom, CA$32.06109%$71–$102
Portland-Vancouver-Hillsboro, OR-WA$31.38107%$69–$100
Philadelphia-Camden-Wilmington, PA-NJ-DE-MD$31.05106%$69–$99
Columbus, OH$30.98106%$68–$99
Riverside-San Bernardino-Ontario, CA$30.92105%$68–$99
New Orleans-Metairie, LA$30.53104%$67–$97
Baltimore-Columbia-Towson, MD$30.38104%$67–$97
Detroit-Warren-Dearborn, MI$30.37104%$67–$97
St. Louis, MO-IL$30.29103%$67–$97
Milwaukee-Waukesha, WI$30.25103%$67–$96
Kansas City, MO-KS$30.14103%$67–$96
Cincinnati, OH-KY-IN$29.92102%$66–$95
Indianapolis-Carmel-Greenwood, IN$29.89102%$66–$95
Pittsburgh, PA$29.87102%$66–$95
Phoenix-Mesa-Chandler, AZ$29.41100%$65–$94
Austin-Round Rock-San Marcos, TX$29.24100%$65–$93
Salt Lake City-Murray, UT$29.23100%$65–$93
Nashville-Davidson-Murfreesboro-Franklin, TN$28.9799%$64–$92
Las Vegas-Henderson-North Las Vegas, NV$28.9699%$64–$92
Oklahoma City, OK$28.9199%$64–$92
Charlotte-Concord-Gastonia, NC-SC$28.7798%$64–$92
Dallas-Fort Worth-Arlington, TX$28.6398%$63–$91
Virginia Beach-Chesapeake-Norfolk, VA-NC$28.5997%$63–$91
Richmond, VA$28.4397%$63–$91
Atlanta-Sandy Springs-Roswell, GA$28.3597%$63–$90
Houston-Pasadena-The Woodlands, TX$28.3497%$63–$90
Louisville/Jefferson County, KY-IN$28.3397%$63–$90
Raleigh-Cary, NC$28.3297%$63–$90
San Antonio-New Braunfels, TX$28.1796%$62–$90
Jacksonville, FL$28.1796%$62–$90
Charleston-North Charleston, SC$28.0896%$62–$90
Miami-Fort Lauderdale-West Palm Beach, FL$27.9095%$62–$89
Albuquerque, NM$27.4694%$61–$88
Memphis, TN-MS-AR$27.3093%$60–$87
Orlando-Kissimmee-Sanford, FL$24.7484%$55–$79
Tampa-St. Petersburg-Clearwater, FL$24.3083%$54–$78

49 metro areas. Source: BLS OEWS, May 2025, SOC 49-9021. Metros where BLS suppressed the figure are omitted rather than estimated.

Why San Jose-Sunnyvale-Santa Clara pays 62% more than Tampa-St. Petersburg-Clearwater

Three things move a trade wage more than anything else: local cost of living, whether the metro's construction market is unionised, and how much competing work is bidding for the same people. A HVAC technician in a high-cost coastal metro is not more skilled than one in the Midwest. The wage follows what it costs to live there and what else that person could be doing instead.

For customers this matters in a specific way. The labour half of a quote scales with local wages; the material half mostly does not. A job that is 60% materials will look far more similar across the country than a job that is mostly labour. Furnace repairs, ac replacements, heat pump installs, and seasonal maintenance sit at different points on that scale, which is why some quotes travel and some do not.

How to use these numbers

Two honest warnings before you take a quote apart with this page.

An hourly rate is not a job price. Most residential work for furnace repairs, AC replacements, heat pump installs, and seasonal maintenance is quoted flat-rate, not hourly. The shop prices the task, not the clock. This page tells you whether the labor component of a quote is plausible for your area — it does not tell you what a specific job should cost.

A minimum charge is normal. Most shops bill a one to two hour minimum plus a trip or diagnostic fee, often $58–$125 before any work starts. A short visit will not cost one hour of the rate above.

What this page is good for: sanity-checking a rate someone quoted you, comparing what you are paying against your own metro, and understanding why the same job costs noticeably more in San Jose-Sunnyvale-Santa Clara than in Tampa-St. Petersburg-Clearwater.

Where these numbers come from

We update wages once a year when BLS publishes, and we say on every page when we last checked. If you think a number here is wrong, tell us — we log every correction with the date.

Other trades