Skilled Wages

Roofer salary in Minnesota

Median $35.81 an hour for 1,890 roofers, May 2025, with the union scale by county and the trend since 1999.

$35.81/hrMedian hourly wageMinnesota, May data
$74,490/yrMedian annual payfull-time equivalent
$22.13 – $47.6810th to 90th percentilehourly range
1,890Jobs countedemployer survey

Roofer pay in Minnesota: the full range

Wage percentiles, MinnesotaMarket wage, 10th-90th pctU.S. reference$10$20$30$40$50$60/hrMinnesota: 10th $22.13 · 25th $26.76 · median $35.81 · 75th $44.05 · 90th $47.68Minnesota$35.81$22.13$47.68United States: 10th $18.01 · 25th $22.24 · median $26.65 · 75th $31.44 · 90th $39.29United States$26.65
Hourly wage percentiles for roofers: Minnesota vs United States, May 2025.

Minnesota ranks 3rd of 51 states for median roofer pay, and 2nd once adjusted for cost of living (the cost-of-living-adjusted median is $36.32). 1,890 roofers work in the state.

Career stage (approximate)HourlyAnnualWhere it sits in the distribution
Apprentice / entry$22.13 – $26.76$46,020 – $55,670roughly the 10th–25th percentile
Journeyman$26.76 – $44.05$55,670 – $91,620the middle half, around the median
Master / foreman / specialist$44.05 – $47.68$91,620 – $99,170the 75th–90th percentile and above

Where does your pay fall?



Roofer pay by metro in Minnesota

Ranked median wages$0$10$20$30$40/hrSt. Cloud: $38.10St. Cloud$38.10Minneapolis: $36.25Minneapolis$36.25Duluth: $35.03Duluth$35.03Rochester: $29.78Rochester$29.78Fargo: $29.62Fargo$29.62Grand Forks: $24.40Grand Forks$24.40Mankato: $24.16Mankato$24.16Sioux Falls: $23.50Sioux Falls$23.50
Median hourly wage for roofers by metro area in Minnesota, May 2025.
Metro10thMedian $/hr90thJobsvs state
St. Cloud$22.18$38.10$44.051306% above
Minneapolis$22.15$36.25$47.681,2501% above
Duluth$22.65$35.03$43.292402% below
Rochester$19.70$29.78$45.099017% below
Fargo$22.13$29.62$36.7613017% below
Grand Forks$23.00$24.40$42.164032% below
Mankato$23.20$24.16$31.634033% below
Sioux Falls$16.54$23.50$28.5218034% below

Roofer wages in Minnesota over time

Minnesota, 1999-2025MinnesotaUnited StatesSOC 2010SOC 2018 / Method changeExact wages$10$20$30$40200020052010201520202025$35.81Minnesota$26.65United States
Median hourly wage for roofers, Minnesota vs United States, 1999–2025, nominal dollars.
Table
YearMinnesota $/hrIn 2025 $US $/hrJobs
1999$14.70$28.41$12.941,430
2000$15.95$29.82$13.951,630
2001$17.11$31.10$14.161,770
2002$16.92$30.28$14.511,890
2003$18.03$31.55$14.431,900
2004$20.44$34.84$14.831,790
2005$22.83$37.63$15.011,700
2006$23.13$36.94$15.511,540
2007$24.06$37.36$15.981,550
2008$25.99$38.86$16.171,450
2009$27.69$41.55$16.331,610
2010$25.93$38.28$16.451,460
2011$26.15$37.43$16.961,580
2012$22.58$31.66$16.971,700
2013$25.04$34.60$17.081,780
2014$26.45$35.97$17.192,030
2015$28.70$38.98$17.652,180
2016$31.06$41.66$18.152,180
2017$30.71$40.33$18.742,210
2018$25.23$32.35$19.222,010
2019$26.09$32.85$20.241,910
2020$27.07$33.67$20.951,770
2021$24.97$29.67$22.651,720
2022$27.96$30.76$23.041,590
2023$30.29$32.00$24.051,930
2024$37.37$38.35$24.512,010
2025$35.81$35.81$26.651,890

In today's dollars, the median roofer wage in Minnesota changed by -8.1% over the last ten years of data.

Union scale and prevailing wage for roofers in Minnesota

On federally funded construction in Minnesota, contractors must pay roofers at least the Davis-Bacon rate for the county. 0 of the 87 counties with a Building rate use a union contract rate (typical package — an hour including fringe); the rest use a survey rate (typical $63.74). The market median for the state is $35.81.

Union contract rateSurvey rate
Union / prevailing package, $/hr, MNAitkin: $66.64 (survey)Anoka: $76.86 (survey)Becker: $28.34 (survey)Beltrami: $61.52 (survey)Benton: $71.14 (survey)Big Stone: $32.95 (survey)Blue Earth: $28.18 (survey)Brown: $28.18 (survey)Carlton: $71.93 (survey)Carver: $76.86 (survey)Cass: $66.64 (survey)Chippewa: $63.74 (survey)Chisago: $76.86 (survey)Clay: $63.74 (survey)Clearwater: $61.52 (survey)Cook: $71.93 (survey)Cottonwood: $63.74 (survey)Crow Wing: $66.64 (survey)Dakota: $76.86 (survey)Dodge: $54.81 (survey)Douglas: $71.14 (survey)Faribault: $54.81 (survey)Fillmore: $54.61 (survey)Freeborn: $54.81 (survey)Goodhue: $76.86 (survey)Grant: $71.14 (survey)Hennepin: $76.86 (survey)Houston: $54.61 (survey)Hubbard: $66.64 (survey)Isanti: $76.86 (survey)Itasca: $64.33 (survey)Jackson: $63.74 (survey)Kanabec: $71.14 (survey)Kandiyohi: $71.14 (survey)Kittson: $50.76 (survey)Koochiching: $64.33 (survey)Lac qui Parle: $32.95 (survey)Lake: $71.93 (survey)Lake of the Woods: $58.71 (survey)Le Sueur: $54.61 (survey)Lincoln: $60.94 (survey)Lyon: $60.94 (survey)McLeod: $76.86 (survey)Mahnomen: $61.52 (survey)Marshall: $61.52 (survey)Martin: $63.74 (survey)Meeker: $71.14 (survey)Mille Lacs: $71.14 (survey)Morrison: $71.14 (survey)Mower: $54.61 (survey)Murray: $63.74 (survey)Nicollet: $35.48 (survey)Nobles: $63.74 (survey)Norman: $61.52 (survey)Olmsted: $54.81 (survey)Otter Tail: $63.74 (survey)Pennington: $61.52 (survey)Pine: $71.93 (survey)Pipestone: $60.94 (survey)Polk: $61.52 (survey)Pope: $71.14 (survey)Ramsey: $76.86 (survey)Red Lake: $58.06 (survey)Redwood: $60.94 (survey)Renville: $71.14 (survey)Rice: $54.81 (survey)Rock: $63.74 (survey)Roseau: $61.52 (survey)St. Louis: $71.93 (survey)Scott: $76.86 (survey)Sherburne: $71.14 (survey)Sibley: $76.86 (survey)Stearns: $71.14 (survey)Steele: $54.81 (survey)Stevens: $71.14 (survey)Swift: $71.14 (survey)Todd: $71.14 (survey)Traverse: $32.95 (survey)Wabasha: $54.61 (survey)Wadena: $66.64 (survey)Waseca: $54.81 (survey)Washington: $76.86 (survey)Watonwan: $63.74 (survey)Wilkin: $63.74 (survey)Winona: $54.61 (survey)Wright: $76.86 (survey)Yellow Medicine: $60.94 (survey)Union / prevailing package, $/hr$54.81$61.52$66.64$71.77survey rate
Davis-Bacon base + fringe for roofers by county, Building construction. Hatched counties use a survey rate rather than a union contract.
Market median vs prevailing wage by countyMarket medianPrevailing (survey)$0$20$40$60$80$100/hrAnoka (Minneapolis): market median $36.25, prevailing (survey) $76.86, gap +$40.61Anoka (Minneapolis)+$40.61Rock (Sioux Falls): market median $23.50, prevailing (survey) $63.74, gap +$40.24Rock (Sioux Falls)+$40.24Polk (Grand Forks): market median $24.40, prevailing (survey) $61.52, gap +$37.12Polk (Grand Forks)+$37.12Carlton (Duluth): market median $35.03, prevailing (survey) $71.93, gap +$36.90Carlton (Duluth)+$36.90Clay (Fargo): market median $29.62, prevailing (survey) $63.74, gap +$34.12Clay (Fargo)+$34.12Benton (St. Cloud): market median $38.10, prevailing (survey) $71.14, gap +$33.04Benton (St. Cloud)+$33.04Dodge (Rochester): market median $29.78, prevailing (survey) $54.81, gap +$25.03Dodge (Rochester)+$25.03Houston (Minnesota): market median $35.81, prevailing (survey) $54.61, gap +$18.80Houston (Minnesota)+$18.80Nicollet (Mankato): market median $24.16, prevailing (survey) $35.48, gap +$11.32Nicollet (Mankato)+$11.32
Market median (BLS metro wage) vs the Davis-Bacon package (base + fringe) for roofers, metro counties in Minnesota.
CountyRate sourceBaseFringeTotalDetermination
Anokastate SAMN2025-001 2025-12-22$51.32$25.54$76.86MN20260028
Carverstate SAMN2025-001 2025-12-22$51.32$25.54$76.86MN20260036
Chisagostate SAMN2025-001 2025-12-22$51.32$25.54$76.86MN20260039
Dakotastate SAMN2025-001 2025-12-22$51.32$25.54$76.86MN20260045
Goodhuestate SAMN2025-001 2025-12-22$51.32$25.54$76.86MN20260051
Hennepinstate SAMN2025-001 2025-12-22$51.32$25.54$76.86MN20260053
Isantistate SAMN2025-001 2025-12-22$51.32$25.54$76.86MN20260056
McLeodstate SAMN2025-001 2025-12-22$51.32$25.54$76.86MN20260072
Ramseystate SAMN2025-001 2025-12-22$51.32$25.54$76.86MN20260088
Scottstate SAMN2025-001 2025-12-22$51.32$25.54$76.86MN20260095
Sibleystate SAMN2025-001 2025-12-22$51.32$25.54$76.86MN20260097
Washingtonstate SAMN2025-001 2025-12-22$51.32$25.54$76.86MN20260108
Wrightstate SAMN2025-001 2025-12-22$51.32$25.54$76.86MN20260112
Carltonstate SAMN2025-001 2025-12-22$48.87$23.06$71.93MN20260035
Cookstate SAMN2025-001 2025-12-22$48.87$23.06$71.93MN20260042

Building construction type, current revisions as of 2026-09-28. Residential, Heavy and Highway rates differ; look them up on the Minnesota prevailing wage page. This is not the official wage determination.

Is construction work growing in Minnesota?

164.2kConstruction jobsMinnesota, 2026-08
+4.9%Change over 12 monthsseasonally unadjusted
Construction employment, 1990-20260k50k100k150k200k19901995200020052010201520202025164kAug 2026
Construction employment in Minnesota (thousands), construction supersector, BLS CES, not seasonally adjusted. Grey bands are recessions.

Keep comparing

Roofer pay in neighbouring states

Other trades in Minnesota

Questions this page answers

How much do roofers make in Minnesota?

The median roofer in Minnesota earned $35.81 an hour ($74,490 a year) in May 2025, 34% above the national median of $26.65. The middle half earn $26.76–$44.05; the top 10% earn more than $47.68.

Where does Minnesota rank for roofer pay?

Minnesota ranks 3rd of 51 states for roofer pay, with a median of $35.81 an hour, and 2nd after adjusting for Minnesota's cost of living (BEA price parity 98.6, US = 100).

What is the union roofer rate in Minnesota?

Davis-Bacon determinations do not list a roofer classification for most Minnesota counties, or the trade is not covered; the BLS wage figures above are the best available measure.

How many roofers work in Minnesota?

BLS counted 1,890 roofers in Minnesota in May 2025, 0.6 per 1,000 jobs (location quotient 0.73; 1.0 is the national average concentration).

Sources and notes

  • BLS Occupational Employment and Wage Statistics, May 2025, Minnesota and metro areas, SOC 47-2181.
  • BLS Current Employment Statistics, state construction employment through 2026-08.
  • BLS Quarterly Census of Employment and Wages, 2025 annual averages.
  • BEA Regional Price Parities (cost-of-living adjustment).
  • SAM.gov Davis-Bacon wage determinations, current revisions as of 2026-09-28. Not the official determination.