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