Metro Labor Index 2026: What Skilled Trades Cost by City
Labor is where a renovation gets expensive, and where the same job costs wildly different amounts by city. Materials ship at nearly national prices; wages are set locally. This report indexes the mean hourly wage for the seven trades that carry renovation work across 49 US metros against the national average, using US Bureau of Labor Statistics OEWS data. It is the wage layer underneath every metro price on this site.
Key Findings
- ●Skilled-trade labor runs about 1.96x more in San Jose (1.41x the national mean) than in El Paso (0.72x), across the 49 metros indexed.
- ●The gap is not uniform by trade. Floor layers vary the most, about 2.23x between the priciest and cheapest metro; other trades cluster tighter.
- ●Because each project leans on a different trade, a single citywide cost multiplier misprices renovations. This index lets every project scale by the trade it actually depends on.
Why labor, and why by trade
A renovation budget splits into labor, materials, permits, and design. Materials are commodities that move at close to national prices, so the reason a kitchen in San Jose costs far more than the same kitchen in El Paso is almost entirely the labor line. And labor is not one number: an electrical panel job is priced off electricians, a re-roof off roofers, a repaint off painters. A city can be expensive for one trade and ordinary for another, so the honest way to localize a renovation price is to scale its labor by the specific trade it uses. That is exactly how the metro prices elsewhere on this site are built.
The index: 49 metros, ranked
Mean hourly wage relative to the national average for each trade. 1.00 is the national mean; 1.20 means 20 percent above.
| # | Metro | Composite | Electricians | Plumbers | Carpenters | Roofers | Floor layers | Painters | HVAC mechanics |
|---|---|---|---|---|---|---|---|---|---|
| 1 | San Jose | 1.41 | 1.39 | 1.58 | 1.34 | 1.32 | 1.55 | 1.25 | 1.41 |
| 2 | San Francisco | 1.32 | 1.45 | 1.28 | 1.37 | 1.28 | 1.27 | 1.27 | 1.34 |
| 3 | Chicago | 1.29 | 1.32 | 1.34 | 1.27 | 1.39 | 1.23 | 1.28 | 1.22 |
| 4 | Boston | 1.26 | 1.17 | 1.29 | 1.24 | 1.21 | 1.48 | 1.17 | 1.23 |
| 5 | Seattle | 1.25 | 1.39 | 1.33 | 1.28 | 1.26 | 1.06 | 1.13 | 1.32 |
| 6 | New York City | 1.25 | 1.24 | 1.26 | 1.23 | 1.33 | 1.22 | 1.26 | 1.23 |
| 7 | Portland | 1.20 | 1.44 | 1.40 | 1.19 | 1.15 | 1.06 | 1.02 | 1.12 |
| 8 | Minneapolis | 1.19 | 1.17 | 1.28 | 1.14 | 1.31 | 1.16 | 1.09 | 1.18 |
| 9 | Los Angeles | 1.14 | 1.15 | 1.11 | 1.20 | 1.15 | 1.13 | 1.12 | 1.15 |
| 10 | Sacramento | 1.12 | 1.12 | 1.06 | 1.12 | 1.15 | 1.16 | 1.14 | 1.11 |
| 11 | Hartford | 1.12 | 1.06 | 1.04 | 1.08 | 1.17 | - | 1.23 | 1.14 |
| 12 | San Diego | 1.12 | 1.15 | 1.09 | 1.18 | 1.12 | 1.02 | 1.08 | 1.17 |
| 13 | Philadelphia | 1.10 | 1.14 | 1.16 | 1.00 | 1.05 | 1.21 | 1.04 | 1.07 |
| 14 | St. Louis | 1.09 | 1.06 | 1.12 | 1.09 | 1.12 | 1.05 | 1.13 | 1.05 |
| 15 | Providence | 1.05 | 1.02 | 1.14 | 1.05 | 1.11 | - | 0.90 | 1.09 |
| 16 | Detroit | 1.05 | 1.11 | 1.13 | 1.02 | 1.14 | 0.86 | 1.07 | 1.03 |
| 17 | Pittsburgh | 1.02 | 1.05 | 1.04 | 1.01 | 0.96 | 1.13 | 0.96 | 1.00 |
| 18 | Denver | 1.02 | 0.95 | 1.00 | 1.04 | 1.00 | 0.91 | 1.08 | 1.15 |
| 19 | Kansas City | 1.01 | 1.09 | 1.10 | 1.03 | 1.01 | 0.86 | 1.01 | 1.00 |
| 20 | Buffalo | 1.01 | 1.06 | 1.02 | 0.98 | 1.11 | 0.85 | 1.06 | 1.01 |
| 21 | Las Vegas | 1.01 | 1.05 | 0.97 | 1.06 | 0.96 | 0.94 | 1.10 | 0.96 |
| 22 | Indianapolis | 1.00 | 0.97 | 1.06 | 1.02 | 0.99 | 0.96 | 0.96 | 1.06 |
| 23 | Columbus | 1.00 | 0.97 | 0.96 | 1.03 | 0.95 | 1.01 | 1.03 | 1.06 |
| 24 | Cleveland | 1.00 | 1.00 | 0.97 | 0.99 | 1.02 | 0.98 | 1.00 | 1.03 |
| 25 | Baltimore | 0.98 | 1.02 | 0.98 | 0.98 | 1.03 | 0.79 | 1.00 | 1.09 |
| 26 | Cincinnati | 0.97 | 0.93 | 0.98 | 0.95 | 0.97 | 0.93 | 0.99 | 1.01 |
| 27 | Louisville | 0.94 | 0.91 | 0.99 | 0.88 | 0.95 | 0.95 | 0.97 | 0.93 |
| 28 | Salt Lake City | 0.92 | 0.93 | 0.94 | 0.87 | 0.91 | 0.94 | 0.91 | 0.97 |
| 29 | Phoenix | 0.91 | 0.90 | 0.98 | 0.92 | 0.89 | 0.76 | 0.98 | 0.96 |
| 30 | Boise | 0.89 | 0.92 | 0.83 | 0.86 | 0.96 | - | 0.83 | 0.94 |
| 31 | Nashville | 0.89 | 0.93 | 0.87 | 0.86 | 0.89 | 0.86 | 0.84 | 0.94 |
| 32 | Albuquerque | 0.88 | 0.82 | 0.90 | 0.90 | 0.85 | 0.92 | 0.88 | 0.88 |
| 33 | Austin | 0.88 | 0.85 | 0.88 | 0.82 | 0.86 | - | 0.85 | 0.99 |
| 34 | New Orleans | 0.87 | 0.88 | 0.87 | 0.81 | - | - | 0.85 | 0.94 |
| 35 | Richmond | 0.86 | 0.87 | 0.84 | 0.82 | 0.86 | - | 0.86 | 0.90 |
| 36 | Jacksonville | 0.86 | 0.81 | 0.81 | 0.81 | 0.84 | 0.95 | 0.89 | 0.91 |
| 37 | Atlanta | 0.86 | 0.87 | 0.83 | 0.79 | 0.86 | 0.81 | 0.91 | 0.93 |
| 38 | Miami | 0.86 | 0.84 | 0.80 | 0.82 | 0.83 | - | 0.91 | 0.93 |
| 39 | Virginia Beach | 0.85 | 0.88 | 0.82 | 0.83 | 0.82 | 0.82 | 0.91 | 0.90 |
| 40 | Charlotte | 0.85 | 0.83 | 0.81 | 0.81 | 0.88 | 0.89 | 0.82 | 0.93 |
| 41 | Memphis | 0.85 | 0.88 | 0.84 | 0.81 | 0.83 | - | 0.82 | 0.93 |
| 42 | Tampa | 0.85 | 0.81 | 0.77 | 0.83 | 0.84 | 0.97 | 0.87 | 0.86 |
| 43 | Oklahoma City | 0.84 | 0.87 | 0.85 | 0.81 | 0.79 | 0.76 | 0.88 | 0.93 |
| 44 | Raleigh | 0.84 | 0.80 | 0.84 | 0.78 | 0.89 | - | 0.83 | 0.90 |
| 45 | Dallas | 0.84 | 0.84 | 0.86 | 0.77 | 0.85 | 0.75 | 0.84 | 0.95 |
| 46 | Tucson | 0.84 | 0.86 | 0.81 | 0.82 | 0.79 | - | 0.88 | 0.86 |
| 47 | Houston | 0.83 | 0.86 | 0.88 | 0.81 | 0.79 | 0.71 | 0.85 | 0.93 |
| 48 | San Antonio | 0.79 | 0.80 | 0.80 | 0.75 | 0.78 | 0.70 | 0.80 | 0.91 |
| 49 | El Paso | 0.72 | 0.73 | 0.78 | 0.68 | 0.66 | - | 0.70 | 0.76 |
A dash means BLS suppresses that metro-trade wage estimate; the composite is the mean of the trades the metro does report.
Spread by trade
How far each trade's wage stretches between the most and least expensive metro.
| Trade | National / hr | Priciest metro | Cheapest metro | Spread |
|---|---|---|---|---|
| Electricians | $34.37 | San Francisco (1.45) | El Paso (0.73) | 1.99x |
| Plumbers | $34.70 | San Jose (1.58) | Tampa (0.77) | 2.06x |
| Carpenters | $31.55 | San Francisco (1.37) | El Paso (0.68) | 2.02x |
| Roofers | $27.95 | Chicago (1.39) | El Paso (0.66) | 2.11x |
| Floor layers | $29.69 | San Jose (1.55) | San Antonio (0.70) | 2.23x |
| Painters | $26.64 | Chicago (1.28) | El Paso (0.70) | 1.82x |
| HVAC mechanics | $31.14 | San Jose (1.41) | El Paso (0.76) | 1.85x |
Common questions
Which US metro has the most expensive renovation labor?
San Jose has the highest skilled-trade wages of the 49 metros indexed, at 1.41x the national mean across the trades that drive renovation cost. El Paso is the lowest at 0.72x, so trade labor runs about 1.96x more in San Jose than in El Paso.
How much of a renovation is labor?
Labor is roughly 40 to 60 percent of a typical renovation and is where most of the regional cost difference lives, because materials ship at close to national prices while wages are set locally. That is why this index tracks wages by trade and metro.
Where does this labor data come from?
From the US Bureau of Labor Statistics Occupational Employment and Wage Statistics (OEWS) program, the May 2025 vintage. We take each metro area mean hourly wage for the trades that carry renovation work and divide by the national mean for that trade, giving a per-metro, per-trade index where 1.00 is the national average.
Does every trade vary by the same amount across metros?
No. The spread differs by trade. Floor layers vary the most, about 2.23x between the highest and lowest metro, while other trades cluster tighter. A single citywide cost multiplier cannot capture that, which is why renovation prices should scale each project by its own trade.
Cite this report
Free to cite and share under CC BY 4.0 with attribution to Cost to Renovate. Source data: US Bureau of Labor Statistics OEWS, May 2025. Index = metro mean hourly wage / national mean hourly wage, per trade.