Updated May 2026 · BLS OEWS 2024
Best Cities for Trade Workers (2024)
Across 30 U.S. metros tracked by BLS Occupational Employment and Wage Statistics, San Francisco leads on raw median trade pay at $87,439 — but Detroit delivers the strongest cost-of-living-adjusted real pay at $75,522 in U.S.-average purchasing power.
What "Best" Means in This Ranking
This ranking sorts 30 U.S. metros by average median wage across roughly 50 skilled trades, drawn from the 2024 BLS Occupational Employment and Wage Statistics release. The Avg Median column is the raw nominal pay; the COL-Adjusted column converts that figure into U.S.-average purchasing power using each metro's cost-of-living index. The two columns frequently disagree — that disagreement is the whole point.
For a worker deciding where to take an apprenticeship, the COL-adjusted column is usually the better signal. Coastal metros lead on nominal pay, but interior cities often dominate on real pay once housing, groceries, and transportation are subtracted. The BLS publishes its full OEWS methodology at bls.gov/oes; we recommend reading it before relying on any single metro reading for a major career move.
For workers already employed in a trade, the ranking offers a useful sanity check on whether moving for higher pay is worth it. A 15% nominal-pay bump that arrives with a 30% jump in cost of living is, in real terms, a pay cut. The Trade Pay Score grade in the per-city pages folds both sides of this calculation into a single A-to-F letter — read the methodology page for the full composite.
Top 5 by Cost-of-Living-Adjusted Real Pay
| # | City | Nominal Median | COL-Adjusted |
|---|---|---|---|
| 1 | Detroit, MI | $67,215 | $75,522 |
| 2 | Minneapolis, MN | $78,272 | $73,842 |
| 3 | Milwaukee, WI | $70,201 | $73,126 |
| 4 | St. Louis, MO | $65,395 | $72,661 |
| 5 | Chicago, IL | $77,019 | $71,980 |
Full Ranking by Nominal Median Salary
| # | City | Avg Median | COL Index | COL-Adjusted | Avg Score | Trades |
|---|---|---|---|---|---|---|
| 1 | San Francisco, CA | $87,439 | 190 | $46,021 | 49 | 45 |
| 2 | Seattle, WA | $84,522 | 149 | $56,726 | 54 | 43 |
| 3 | Boston, MA | $79,727 | 152 | $52,452 | 52 | 42 |
| 4 | Portland, OR | $78,814 | 130 | $60,626 | 57 | 42 |
| 5 | New York, NY | $78,694 | 187 | $42,082 | 47 | 46 |
| 6 | Minneapolis, MN | $78,272 | 106 | $73,842 | 62 | 42 |
| 7 | Chicago, IL | $77,019 | 107 | $71,980 | 61 | 43 |
| 8 | Los Angeles, CA | $74,460 | 166 | $44,855 | 49 | 47 |
| 9 | Milwaukee, WI | $70,201 | 96 | $73,126 | 62 | 42 |
| 10 | Philadelphia, PA | $69,648 | 115 | $60,563 | 57 | 45 |
| 11 | Denver, CO | $67,348 | 128 | $52,616 | 54 | 45 |
| 12 | Detroit, MI | $67,215 | 89 | $75,522 | 62 | 41 |
| 13 | Las Vegas, NV | $67,113 | 104 | $64,532 | 58 | 41 |
| 14 | Kansas City, MO | $65,570 | 94 | $69,755 | 62 | 43 |
| 15 | St. Louis, MO | $65,395 | 90 | $72,661 | 62 | 41 |
| 16 | Indianapolis, IN | $64,625 | 91 | $71,016 | 61 | 45 |
| 17 | Pittsburgh, PA | $64,249 | 92 | $69,836 | 60 | 42 |
| 18 | Phoenix, AZ | $63,846 | 103 | $61,986 | 58 | 43 |
| 19 | Salt Lake City, UT | $63,298 | 104 | $60,863 | 57 | 41 |
| 20 | Columbus, OH | $63,004 | 93 | $67,746 | 61 | 39 |
| 21 | New Orleans, LA | $60,816 | 95 | $64,017 | 60 | 36 |
| 22 | Atlanta, GA | $59,780 | 106 | $56,396 | 55 | 43 |
| 23 | Miami, FL | $59,387 | 122 | $48,678 | 51 | 45 |
| 24 | Nashville, TN | $58,992 | 103 | $57,274 | 55 | 42 |
| 25 | Raleigh, NC | $58,403 | 100 | $58,403 | 56 | 39 |
| 26 | Dallas, TX | $58,064 | 102 | $56,925 | 56 | 45 |
| 27 | Houston, TX | $58,026 | 96 | $60,444 | 58 | 45 |
| 28 | Charlotte, NC | $57,288 | 98 | $58,457 | 57 | 40 |
| 29 | Tampa, FL | $56,665 | 101 | $56,104 | 55 | 44 |
| 30 | San Antonio, TX | $55,594 | 90 | $61,771 | 58 | 40 |
How These Ranks Are Calculated
For each metro, we average the median wages of all tracked skilled trades from the 2024 BLS Occupational Employment and Wage Statistics release at bls.gov/oes. The COL-Adjusted column applies each metro's cost-of-living index to translate nominal pay into U.S.-average purchasing power. The Avg Score column is the average Trade Pay Score across the metro's trades — a 0-100 composite that weights raw pay (30%), 5-year wage growth (25%), employment depth (25%), and cost-of-living-adjusted purchasing power (20%). Full methodology.
Career outlook detail and apprenticeship listings come from two additional federal sources: the BLS Occupational Outlook Handbook at bls.gov/ooh for projected employment growth, and the U.S. Department of Labor's apprenticeship.gov registry for state and city training programs. Both are public-domain government data sources.
Frequently Asked Questions
What makes a city good for skilled-trade workers?
The best cities for trade workers combine three things: high nominal pay (a strong median wage), reasonable cost of living (so the wage actually translates into purchasing power), and depth of demand (enough employers and infrastructure projects that workers do not have to chase one or two firms). The best-paying nominal city in the rankings below is San Francisco at $87,439, but the best real-pay city after adjusting for cost of living is Detroit at $75,522 in U.S.-average purchasing power.
Why does cost of living matter so much for trade pay?
A trade worker in a high-cost coastal metro and one in a mid-cost interior city can earn very different nominal wages but bring home similar real purchasing power once rent, food, and transportation are subtracted. The COL-Adjusted column on this ranking flips the picture for several metros — cities that look unimpressive on raw median often outperform expensive coastal markets once cost of living is factored in. The median nominal across the 30 tracked metros is $67,116; the median COL-adjusted reading is $60,909.
Which trades benefit most from a high-pay city?
Specialty mechanical, electrical, and elevator trades benefit most from high-pay metros, because urban density supports the project pipelines (high-rises, transit, data centers, hospitals) that those trades work on. General construction trades benefit less from headline-high pay because cost of living tends to absorb the gap. See the per-trade pages for trade-specific city rankings; the BLS Occupational Outlook Handbook at https://www.bls.gov/ooh/ publishes projected employment growth for every trade.
How is the Trade Pay Score calculated?
The Trade Pay Score is a 0-100 composite that grades each trade-city pairing on raw median pay (30%), 5-year wage growth (25%), employment depth (25%), and cost-of-living-adjusted purchasing power (20%). An A grade requires a score of 80 or higher; F grades start below 35. The score lets you compare two metros on a like-for-like basis even when their nominal pay scales differ substantially.
How often is this ranking updated?
The ranking is recomputed each time BLS publishes a new Occupational Employment and Wage Statistics release at https://www.bls.gov/oes/ — typically once per year, in late spring, covering the prior calendar year's wage data. This page reflects the 2024 OEWS release; it was last refreshed May 2026.
Across 30 U.S. metros tracked by BLS Occupational Employment and Wage Statistics, San Francisco leads on raw median trade pay at $87,439 — but Detroit delivers the strongest cost-of-living-adjusted real pay at $75,522 in U.S.-average purchasing power.