Skip to content

Home / Minnesota / Roofer

Minnesota · Roofer

Minnesota roofer prevailing wage, county by county

A roofer's prevailing wage on Minnesota public works runs from $28.18 an hour in Brown County to $76.86 in Anoka County. The median county is $63.74.

Roofer rate in each Minnesota county, A to Z

87 counties
CountyBase wageFringe benefitsTotal rateEffectiveSource
Aitkin CountyROOFER (720) · Crow Wing County group
$42.67 $23.97 $66.64 Jul 6, 2026DLI-C-01-2025-12-22
Anoka CountyROOFER (720) · Hennepin County group
$51.32 $25.54 $76.86 May 4, 2026DLI-C-02-2025-12-22-rev-2026-02-09
Becker CountyROOFER (720)
$23.50 $4.84 $28.34 Dec 22, 2025DLI-C-03-2025-12-22
Beltrami CountyROOFER (720) · Beltrami County group
$41.08 $20.44 $61.52 Apr 27, 2026DLI-C-04-2025-12-22
Benton CountyROOFER (720) · Stearns County group
$48.68 $24.21 $72.89 Oct 5, 2026DLI-C-05-2025-12-22
Big Stone CountyROOFER (720)
$27.00 $5.95 $32.95 Dec 22, 2025DLI-C-06-2025-12-22
Blue Earth CountyROOFER (720)
$26.01 $2.17 $28.18 Dec 22, 2025DLI-C-07-2025-12-22
Brown CountyROOFER (720)
$26.01 $2.17 $28.18 Dec 22, 2025DLI-C-08-2025-12-22
Carlton CountyROOFER (720) · Carlton County group
$48.87 $23.06 $71.93 Jul 6, 2026DLI-C-09-2025-12-22
Carver CountyROOFER (720) · Hennepin County group
$51.32 $25.54 $76.86 May 4, 2026DLI-C-10-2025-12-22-rev-2026-02-09
Cass CountyROOFER (720) · Cass County group
$42.67 $23.97 $66.64 Jul 6, 2026DLI-C-11-2025-12-22
Chippewa CountyROOFER (720) · Clay County group
$41.06 $22.68 $63.74 Dec 22, 2025DLI-C-12-2025-12-22
Chisago CountyROOFER (720) · Hennepin County group
$51.32 $25.54 $76.86 May 4, 2026DLI-C-13-2025-12-22-rev-2026-02-09
Clay CountyROOFER (720) · Clay County group
$41.06 $22.68 $63.74 Dec 22, 2025DLI-C-14-2025-12-22
Clearwater CountyROOFER (720) · Polk County group
$41.08 $20.44 $61.52 Apr 27, 2026DLI-C-15-2025-12-22
Cook CountyROOFER (720) · Carlton County group
$48.87 $23.06 $71.93 Jul 6, 2026DLI-C-16-2025-12-22
Cottonwood CountyROOFER (720) · Clay County group
$41.06 $22.68 $63.74 Dec 22, 2025DLI-C-17-2025-12-22
Crow Wing CountyROOFER (720) · Crow Wing County group
$42.67 $23.97 $66.64 Jul 6, 2026DLI-C-18-2025-12-22
Dakota CountyROOFER (720) · Hennepin County group
$51.32 $25.54 $76.86 May 4, 2026DLI-C-19-2025-12-22-rev-2026-02-09
Dodge CountyROOFER (720) · Olmsted County group
$34.81 $20.00 $54.81 Dec 22, 2025DLI-C-20-2025-12-22
Douglas CountyROOFER (720) · Stearns County group
$48.68 $24.21 $72.89 Oct 5, 2026DLI-C-21-2025-12-22
Faribault CountyROOFER (720) · Olmsted County group
$34.81 $20.00 $54.81 Dec 22, 2025DLI-C-22-2025-12-22
Fillmore CountyROOFER (720)
$34.46 $20.15 $54.61 Jun 1, 2026DLI-C-23-2025-12-22
Freeborn CountyROOFER (720) · Olmsted County group
$34.81 $20.00 $54.81 Dec 22, 2025DLI-C-24-2025-12-22
Goodhue CountyROOFER (720) · Hennepin County group
$51.32 $25.54 $76.86 May 4, 2026DLI-C-25-2025-12-22-rev-2026-02-09
Grant CountyROOFER (720) · Pope County group
$48.68 $24.21 $72.89 Oct 5, 2026DLI-C-26-2025-12-22
Hennepin CountyROOFER (720) · Hennepin County group
$51.32 $25.54 $76.86 May 4, 2026DLI-C-27-2025-12-22-rev-2026-02-09
Houston CountyROOFER (720) · Mower County group
$34.46 $20.15 $54.61 Jun 1, 2026DLI-C-28-2025-12-22
Hubbard CountyROOFER (720) · Cass County group
$42.67 $23.97 $66.64 Jul 6, 2026DLI-C-29-2025-12-22
Isanti CountyROOFER (720) · Hennepin County group
$51.32 $25.54 $76.86 May 4, 2026DLI-C-30-2025-12-22-rev-2026-02-09
Itasca CountyROOFER (720) · Itasca County group
$43.89 $20.44 $64.33 Apr 27, 2026DLI-C-31-2025-12-22
Jackson CountyROOFER (720) · Otter Tail County group
$41.06 $22.68 $63.74 Dec 22, 2025DLI-C-32-2025-12-22
Kanabec CountyROOFER (720) · Stearns County group
$48.68 $24.21 $72.89 Oct 5, 2026DLI-C-33-2025-12-22
Kandiyohi CountyROOFER (720) · Stearns County group
$48.68 $24.21 $72.89 Oct 5, 2026DLI-C-34-2025-12-22
Kittson CountyROOFER (720)
$35.17 $15.59 $50.76 Dec 22, 2025DLI-C-35-2025-12-22
Koochiching CountyROOFER (720) · Itasca County group
$43.89 $20.44 $64.33 Apr 27, 2026DLI-C-36-2025-12-22
$27.00 $5.95 $32.95 Dec 22, 2025DLI-C-37-2025-12-22-rev-2026-02-02
Lake CountyROOFER (720) · St. Louis County group
$48.87 $23.06 $71.93 Jul 6, 2026DLI-C-38-2025-12-22
$35.58 $23.13 $58.71 Dec 22, 2025DLI-C-39-2025-12-22
Le Sueur CountyROOFER (720)
$34.46 $20.15 $54.61 Jun 1, 2026DLI-C-40-2025-12-22-rev-2026-02-02
Lincoln CountyROOFER (720) · Redwood County group
$39.01 $21.93 $60.94 Dec 22, 2025DLI-C-41-2025-12-22
Lyon CountyROOFER (720) · Redwood County group
$39.01 $21.93 $60.94 Dec 22, 2025DLI-C-42-2025-12-22
Mahnomen CountyROOFER (720) · Beltrami County group
$41.08 $20.44 $61.52 Apr 27, 2026DLI-C-43-2025-12-22
Marshall CountyROOFER (720) · Polk County group
$41.08 $20.44 $61.52 Apr 27, 2026DLI-C-44-2025-12-22
Martin CountyROOFER (720) · Clay County group
$41.06 $22.68 $63.74 Dec 22, 2025DLI-C-45-2025-12-22
McLeod CountyROOFER (720) · Hennepin County group
$51.32 $25.54 $76.86 May 4, 2026DLI-C-46-2025-12-22-rev-2026-02-09
Meeker CountyROOFER (720) · Stearns County group
$48.68 $24.21 $72.89 Oct 5, 2026DLI-C-47-2025-12-22
Mille Lacs CountyROOFER (720) · Stearns County group
$48.68 $24.21 $72.89 Oct 5, 2026DLI-C-48-2025-12-22
Morrison CountyROOFER (720) · Stearns County group
$48.68 $24.21 $72.89 Oct 5, 2026DLI-C-49-2025-12-22
Mower CountyROOFER (720) · Mower County group
$34.46 $20.15 $54.61 Jun 1, 2026DLI-C-50-2025-12-22
Murray CountyROOFER (720) · Clay County group
$41.06 $22.68 $63.74 Dec 22, 2025DLI-C-51-2025-12-22
Nicollet CountyROOFER (720)
$26.72 $8.76 $35.48 Dec 22, 2025DLI-C-52-2025-12-22
Nobles CountyROOFER (720) · Otter Tail County group
$41.06 $22.68 $63.74 Dec 22, 2025DLI-C-53-2025-12-22
Norman CountyROOFER (720) · Polk County group
$41.08 $20.44 $61.52 Apr 27, 2026DLI-C-54-2025-12-22
Olmsted CountyROOFER (720) · Olmsted County group
$34.81 $20.00 $54.81 Dec 22, 2025DLI-C-55-2025-12-22
Otter Tail CountyROOFER (720) · Otter Tail County group
$41.06 $22.68 $63.74 Dec 22, 2025DLI-C-56-2025-12-22
Pennington CountyROOFER (720) · Polk County group
$41.08 $20.44 $61.52 Apr 27, 2026DLI-C-57-2025-12-22
Pine CountyROOFER (720) · St. Louis County group
$48.87 $23.06 $71.93 Jul 6, 2026DLI-C-58-2025-12-22
Pipestone CountyROOFER (720)
$39.01 $21.93 $60.94 Dec 22, 2025DLI-C-59-2025-12-22
Polk CountyROOFER (720) · Polk County group
$41.08 $20.44 $61.52 Apr 27, 2026DLI-C-60-2025-12-22
Pope CountyROOFER (720) · Pope County group
$48.68 $24.21 $72.89 Oct 5, 2026DLI-C-61-2025-12-22
Ramsey CountyROOFER (720) · Hennepin County group
$51.32 $25.54 $76.86 May 4, 2026DLI-C-62-2025-12-22-rev-2026-02-09
Red Lake CountyROOFER (720) · Beltrami County group
$41.08 $20.44 $61.52 Apr 27, 2026DLI-C-63-2025-12-22
Redwood CountyROOFER (720) · Redwood County group
$39.01 $21.93 $60.94 Dec 22, 2025DLI-C-64-2025-12-22
Renville CountyROOFER (720) · Pope County group
$48.68 $24.21 $72.89 Oct 5, 2026DLI-C-65-2025-12-22
Rice CountyROOFER (720) · Olmsted County group
$34.81 $20.00 $54.81 Dec 22, 2025DLI-C-66-2025-12-22
Rock CountyROOFER (720) · Clay County group
$41.06 $22.68 $63.74 Dec 22, 2025DLI-C-67-2025-12-22
Roseau CountyROOFER (720) · Polk County group
$41.08 $20.44 $61.52 Apr 27, 2026DLI-C-68-2025-12-22
Scott CountyROOFER (720) · Hennepin County group
$51.32 $25.54 $76.86 May 4, 2026DLI-C-70-2025-12-22-rev-2026-02-09
Sherburne CountyROOFER (720) · Stearns County group
$48.68 $24.21 $72.89 Oct 5, 2026DLI-C-71-2025-12-22
Sibley CountyROOFER (720)
$51.32 $25.54 $76.86 May 4, 2026DLI-C-72-2025-12-22-rev-2026-02-09
St. Louis CountyROOFER (720) · St. Louis County group
$48.87 $23.06 $71.93 Jul 6, 2026DLI-C-69-2025-12-22
Stearns CountyROOFER (720) · Stearns County group
$48.68 $24.21 $72.89 Oct 5, 2026DLI-C-73-2025-12-22
Steele CountyROOFER (720) · Olmsted County group
$34.81 $20.00 $54.81 Dec 22, 2025DLI-C-74-2025-12-22
Stevens CountyROOFER (720) · Pope County group
$48.68 $24.21 $72.89 Oct 5, 2026DLI-C-75-2025-12-22
Swift CountyROOFER (720) · Pope County group
$48.68 $24.21 $72.89 Oct 5, 2026DLI-C-76-2025-12-22
Todd CountyROOFER (720) · Stearns County group
$48.68 $24.21 $72.89 Oct 5, 2026DLI-C-77-2025-12-22
Traverse CountyROOFER (720)
$27.00 $5.95 $32.95 Dec 22, 2025DLI-C-78-2025-12-22
Wabasha CountyROOFER (720) · Mower County group
$34.46 $20.15 $54.61 Jun 1, 2026DLI-C-79-2025-12-22
Wadena CountyROOFER (720) · Crow Wing County group
$42.67 $23.97 $66.64 Jul 6, 2026DLI-C-80-2025-12-22
Waseca CountyROOFER (720)
$34.81 $20.00 $54.81 Dec 22, 2025DLI-C-81-2025-12-22
Washington CountyROOFER (720) · Hennepin County group
$51.32 $25.54 $76.86 May 4, 2026DLI-C-82-2025-12-22-rev-2026-02-09
Watonwan CountyROOFER (720) · Otter Tail County group
$41.06 $22.68 $63.74 Dec 22, 2025DLI-C-83-2025-12-22
Wilkin CountyROOFER (720) · Clay County group
$41.06 $22.68 $63.74 Dec 22, 2025DLI-C-84-2025-12-22
Winona CountyROOFER (720) · Mower County group
$34.46 $20.15 $54.61 Jun 1, 2026DLI-C-85-2025-12-22
Wright CountyROOFER (720) · Hennepin County group
$51.32 $25.54 $76.86 May 4, 2026DLI-C-86-2025-12-22-rev-2026-02-09
$39.01 $21.93 $60.94 Dec 22, 2025DLI-C-87-2025-12-22-rev-2026-02-02

Main roofer classification in each county (Roofer (720)), DLI certifications of Nov 3 and Dec 22, 2025 (revised to Feb 9, 2026). The rates "must be ascertained before the state asks for bids" and written into the contract, with their dated steps (Minn. Stat. 177.43). Checked October 25, 2026.

Polk County roofer: $61.52 per hourRed Lake County roofer: $61.52 per hourMeeker County roofer: $72.89 per hourIsanti County roofer: $76.86 per hourRock County roofer: $63.74 per hourCarver County roofer: $76.86 per hourKandiyohi County roofer: $72.89 per hourCottonwood County roofer: $63.74 per hourFreeborn County roofer: $54.81 per hourBenton County roofer: $72.89 per hourDouglas County roofer: $72.89 per hourMurray County roofer: $63.74 per hourPipestone County roofer: $60.94 per hourCarlton County roofer: $71.93 per hourAitkin County roofer: $66.64 per hourRice County roofer: $54.81 per hourWatonwan County roofer: $63.74 per hourOtter Tail County roofer: $63.74 per hourPennington County roofer: $61.52 per hourMahnomen County roofer: $61.52 per hourRoseau County roofer: $61.52 per hourMartin County roofer: $63.74 per hourBeltrami County roofer: $61.52 per hourSt. Louis County roofer: $71.93 per hourDodge County roofer: $54.81 per hourLe Sueur County roofer: $54.61 per hourSteele County roofer: $54.81 per hourNobles County roofer: $63.74 per hourSibley County roofer: $76.86 per hourOlmsted County roofer: $54.81 per hourLyon County roofer: $60.94 per hourRenville County roofer: $72.89 per hourTodd County roofer: $72.89 per hourCook County roofer: $71.93 per hourLincoln County roofer: $60.94 per hourRedwood County roofer: $60.94 per hourLake County roofer: $71.93 per hourBrown County roofer: $28.18 per hourKittson County roofer: $50.76 per hourLac qui Parle County roofer: $32.95 per hourWaseca County roofer: $54.81 per hourHouston County roofer: $54.61 per hourJackson County roofer: $63.74 per hourWashington County roofer: $76.86 per hourChisago County roofer: $76.86 per hourFaribault County roofer: $54.81 per hourBlue Earth County roofer: $28.18 per hourNicollet County roofer: $35.48 per hourStevens County roofer: $72.89 per hourMille Lacs County roofer: $72.89 per hourMower County roofer: $54.61 per hourGrant County roofer: $72.89 per hourHubbard County roofer: $66.64 per hourBig Stone County roofer: $32.95 per hourWadena County roofer: $66.64 per hourChippewa County roofer: $63.74 per hourWabasha County roofer: $54.61 per hourKoochiching County roofer: $64.33 per hourNorman County roofer: $61.52 per hourBecker County roofer: $28.34 per hourGoodhue County roofer: $76.86 per hourRamsey County roofer: $76.86 per hourYellow Medicine County roofer: $60.94 per hourFillmore County roofer: $54.61 per hourWright County roofer: $76.86 per hourWilkin County roofer: $63.74 per hourSwift County roofer: $72.89 per hourMarshall County roofer: $61.52 per hourPine County roofer: $71.93 per hourScott County roofer: $76.86 per hourClearwater County roofer: $61.52 per hourCrow Wing County roofer: $66.64 per hourDakota County roofer: $76.86 per hourItasca County roofer: $64.33 per hourCass County roofer: $66.64 per hourKanabec County roofer: $72.89 per hourSherburne County roofer: $72.89 per hourWinona County roofer: $54.61 per hourPope County roofer: $72.89 per hourMcLeod County roofer: $76.86 per hourLake of the Woods County roofer: $58.71 per hourMorrison County roofer: $72.89 per hourClay County roofer: $63.74 per hourHennepin County roofer: $76.86 per hourAnoka County roofer: $76.86 per hourTraverse County roofer: $32.95 per hourStearns County roofer: $72.89 per hour
$28$54$61$66$72$76Roofer, main rate, total per hour. Each shade holds about a fifth of the counties.

How much does a roofer make on prevailing wage in Minnesota?

$28.18 to $76.86 an hour depending on the county; the median county pays $63.74. 15 groups of counties with identical rates and 15 with rates of their own, highest main rate first.

  1. Hennepin County group12 counties$76.86
  2. Sibley County1 county$76.86
  3. Stearns County group10 counties$72.89
  4. Pope County group5 counties$72.89
  5. St. Louis County group3 counties$71.93
  6. Carlton County group2 counties$71.93
  7. Crow Wing County group3 counties$66.64
  8. Cass County group2 counties$66.64
  9. Itasca County group2 counties$64.33
  10. Clay County group7 counties$63.74
  11. Otter Tail County group4 counties$63.74
  12. Polk County group6 counties$61.52
  13. Beltrami County group3 counties$61.52
  14. Redwood County group3 counties$60.94
  15. Pipestone County1 county$60.94
  16. Yellow Medicine County1 county$60.94
  17. Lake of the Woods County1 county$58.71
  18. Olmsted County group6 counties$54.81
  19. Waseca County1 county$54.81
  20. Mower County group4 counties$54.61
  21. Fillmore County1 county$54.61
  22. Le Sueur County1 county$54.61
  23. Kittson County1 county$50.76
  24. Nicollet County1 county$35.48
  25. Big Stone County1 county$32.95
  26. Lac qui Parle County1 county$32.95
  27. Traverse County1 county$32.95
  28. Becker County1 county$28.34
  29. Blue Earth County1 county$28.18
  30. Brown County1 county$28.18
Which counties share a rate
CountiesMain classificationBase wageTotal rate
Hennepin County group, 12 localities: Anoka, Carver, Chisago, Dakota, Goodhue, Hennepin, Isanti, McLeod, Ramsey, Scott, Washington, WrightROOFER (720)$51.32 $76.86 
Sibley CountyROOFER (720)$51.32 $76.86 
Stearns County group, 10 localities: Benton, Douglas, Kanabec, Kandiyohi, Meeker, Mille Lacs, Morrison, Sherburne, Stearns, ToddROOFER (720)$48.68 $72.89 
Pope County group, 5 localities: Grant, Pope, Renville, Stevens, SwiftROOFER (720)$48.68 $72.89 
St. Louis County group, 3 localities: Lake, Pine, St. LouisROOFER (720)$48.87 $71.93 
Carlton County group, 2 localities: Carlton, CookROOFER (720)$48.87 $71.93 
Crow Wing County group, 3 localities: Aitkin, Crow Wing, WadenaROOFER (720)$42.67 $66.64 
Cass County group, 2 localities: Cass, HubbardROOFER (720)$42.67 $66.64 
Itasca County group, 2 localities: Itasca, KoochichingROOFER (720)$43.89 $64.33 
Clay County group, 7 localities: Chippewa, Clay, Cottonwood, Martin, Murray, Rock, WilkinROOFER (720)$41.06 $63.74 
Otter Tail County group, 4 localities: Jackson, Nobles, Otter Tail, WatonwanROOFER (720)$41.06 $63.74 
Polk County group, 6 localities: Clearwater, Marshall, Norman, Pennington, Polk, RoseauROOFER (720)$41.08 $61.52 
Beltrami County group, 3 localities: Beltrami, Mahnomen, Red LakeROOFER (720)$41.08 $61.52 
Redwood County group, 3 localities: Lincoln, Lyon, RedwoodROOFER (720)$39.01 $60.94 
Pipestone CountyROOFER (720)$39.01 $60.94 
Yellow Medicine CountyROOFER (720)$39.01 $60.94 
Lake of the Woods CountyROOFER (720)$35.58 $58.71 
Olmsted County group, 6 localities: Dodge, Faribault, Freeborn, Olmsted, Rice, SteeleROOFER (720)$34.81 $54.81 
Waseca CountyROOFER (720)$34.81 $54.81 
Mower County group, 4 localities: Houston, Mower, Wabasha, WinonaROOFER (720)$34.46 $54.61 
Fillmore CountyROOFER (720)$34.46 $54.61 
Le Sueur CountyROOFER (720)$34.46 $54.61 
Kittson CountyROOFER (720)$35.17 $50.76 
Nicollet CountyROOFER (720)$26.72 $35.48 
Big Stone CountyROOFER (720)$27.00 $32.95 
Lac qui Parle CountyROOFER (720)$27.00 $32.95 
Traverse CountyROOFER (720)$27.00 $32.95 
Becker CountyROOFER (720)$23.50 $28.34 
Blue Earth CountyROOFER (720)$26.01 $28.18 
Brown CountyROOFER (720)$26.01 $28.18 

15 groups of counties with identical DLI rates, and 15 counties with rates of their own.

DLI's schedules list journeyworker rates only. Apprentices in a registered program are paid the program's rate (Minn. R. 5200.1070); anyone else on the payroll gets the full rate for the work performed.

Questions about Minnesota roofer pay

What is the roofer prevailing wage in Hennepin County?

$76.86 an hour: a $51.32 base wage plus $25.54 in fringe, under DLI certifications of Nov 3 and Dec 22, 2025 (revised to Feb 9, 2026). Overtime and every roofer classification in Hennepin County.

Does roofer prevailing wage include fringe benefits?

Yes. In Hennepin County the $76.86 total is a $51.32 base wage plus $25.54 in fringe, about 33% of the total. The employer owes the full amount for every hour worked.

Does roofer prevailing wage pay overtime in Minnesota?

Over 8 hours a day or 40 hours a week is paid at 1½ times the basic hourly rate; the fringe isn't multiplied. Every DLI schedule says overtime after 8 hours "must be paid even if the worker does not exceed forty (40) hours" (Minn. Stat. 177.42, subd. 4). DLI publishes no weekend or holiday multipliers.

Do apprentice roofers get this rate?

DLI's schedules list journeyworker rates only. Apprentices in a registered program are paid the program's rate (Minn. R. 5200.1070); anyone else on the payroll gets the full rate for the work performed.

Why do some counties have the same roofer rate?

DLI often publishes the same roofer rates for several counties. Across Minnesota, the 87 counties with a roofer rate fall into 30 distinct sets of rates, and 15 of those sets are shared by more than one county; the largest covers 12 counties (the Hennepin County group).