TradesPays

In 2026, roofers in Minnesota earn a median of $74,490 per year ($35.81/hr), according to BLS OEWS (May 2025). Pay rises with experience, license tier, and specialty. Last updated June 2026.

How much do roofers make in Minnesota in 2026?

Real pay data from real trades workers. Source: BLS OEWS May 2025 · Updated June 2026.

$74,490/yr

Median (50th percentile)

Half of Minnesota roofers earn between $55,670 and $91,620 per year.

Where this number sits on the path

  1. Years 1–2

    Apprentice / Helper

    helper / trainee pay

  2. Years 3–5+

    Journeyman

    $74,490/yr · this page

  3. Years 7+

    Foreman / Lead

    premium over journeyman

$55,670/yr$74,490/yr$91,620/yr

Source: BLS OEWS May 2025

Highest-paying state
Illinois · $77,900
Workers in Minnesota
1,890 (BLS 2025)
Pay range (p25–p75)
$55,670–$91,620

What do non-union roofers earn in Minnesota?

Non-union Roofer in Minnesota

$74,490/yr

25th–75th: $55,670/yr–$91,620/yr

$96,837/yr total compbase + ~30% benefits (est., BLS ECEC)

Roofer is predominantly non-union in Minnesota. Pay varies based on employer, region within the state, and experience. BLS figures cover all roofers. Submit your salary →

Look up another trade or state

Roofer pay in Minnesota

The median roofer in Minnesota earns $74,490 a year, which works out to $35.81 an hour based on a standard 2,080-hour work year. That figure comes from the Bureau of Labor Statistics Occupational Employment and Wage Statistics survey, May 2025, and it covers union and non-union workers, residential and commercial, across the full state.

The spread across the pay scale is significant. Roofers at the 25th percentile — newer workers, less specialized, or working in slower markets — earn $55,670 a year, about $26.76 an hour. Workers at the 75th percentile bring in $91,620 a year, or $44.05 an hour. That's a $35,950 gap between the lower quarter and the upper quarter of the workforce, which tells you this trade rewards experience and specialization more than most.

Roofing in Minnesota has a hard seasonality problem. The core installation season runs roughly April through October, and harsh winters can compress the billable window even further. Most roofers here work concentrated hours during that stretch, which means overtime is common in the busy months. A worker putting in 50- or 55-hour weeks from May through September will push their effective annual earnings well above what the BLS hourly rate implies on a flat 40-hour basis. On the other side, slower winters mean some workers see their annual hours drop, which can drag the annual figure down for anyone not in year-round commercial or repair work.

Commercial and industrial roofing work — TPO, EPDM, metal panel systems, built-up roofing — generally pays better than residential shingle work. Roofers who can certify on specific membrane systems or who move into foreman and crew lead roles tend to land in the upper half of the pay distribution. Flat-roof waterproofing, standing-seam metal, and green roof installation are specialty areas that carry a real wage premium in the Twin Cities metro.

Geography within Minnesota matters. The Minneapolis–Saint Paul metro concentrates the highest-paying commercial and multifamily projects, along with the densest base of roofing contractors competing for skilled workers. Rochester and Duluth have smaller but active commercial markets. Rural and northern Minnesota tends to have lower wage levels and more seasonal residential work, which is part of why statewide averages blend a wide range.

Apprenticeship is the most direct path to the upper percentiles. A structured multi-year program — whether through an employer or a joint apprenticeship — builds the skills on low-slope, steep-slope, and waterproofing systems that command higher pay. Workers who complete a full apprenticeship and add manufacturer certifications regularly land at or above the median within a few years of journeyman status.

Some roofers in Minnesota are covered by a collective bargaining agreement — check with your local for current rates, since negotiated scales are not captured in the BLS statewide figures shown here.

The BLS OEWS data does not include self-employed roofers or owner-operators who run their own crews. Working contractors who also do their own roofing can earn substantially more or less than these figures depending on business overhead, volume, and market conditions. The numbers here reflect wage and salary employees only.

If you are evaluating whether to enter the trade, the gap between the 25th and 75th percentile is the most useful data point on this page. Getting from $26.76 to $44.05 an hour is a matter of years on the tools, specialty certifications, and willingness to take on the harder systems. The path is clear and the ceiling is real.

Recent submissions

First submission goes here

Your metro · years · union or non-union

$—

Be the first roofer in Minnesota to share your pay. We start with the BLS — workers like you fill in the rest.

How Minnesota compares

Roofer median by state

Other trades in Minnesota

Median pay by trade

About this data

Wages come from the U.S. Bureau of Labor Statistics OEWS program (May 2025), the authoritative public source for occupational pay. Union figures are journeyman scales from IBEW/UA locals (approximate). Member submissions — added anonymously, never with a raw email address — refine these numbers over time.

Roofer pay in Minnesota: FAQ

How much does a roofer make per hour in Minnesota?
The median hourly rate for a roofer in Minnesota is $35.81, based on the BLS OEWS May 2025 survey. Workers at the 25th percentile earn around $26.76/hr, while those at the 75th percentile earn about $44.05/hr.
Does Minnesota's short roofing season affect annual earnings?
Yes, significantly. The prime installation season runs roughly April through October. Roofers who work heavy overtime during those months can push their annual earnings above what a flat hourly rate suggests, but workers who struggle to find year-round work — especially in residential — may see lower annual totals. The BLS figure of $74,490 reflects actual reported annual wages and blends both situations.
What kinds of roofing work pay the most in Minnesota?
Commercial low-slope systems — TPO, EPDM, built-up roofing, and standing-seam metal — generally pay more than residential asphalt shingle work. Roofers with manufacturer certifications on specific membrane systems, or those who move into foreman roles, tend to fall in the upper half of the pay range, closer to the $91,620 (75th percentile) end.
Does location within Minnesota affect roofer pay?
Yes. The Minneapolis–Saint Paul metro has the highest concentration of large commercial and multifamily roofing projects, and wages there reflect that demand. Rochester and Duluth have smaller but active markets. Rural and northern Minnesota typically sees lower wage rates and more seasonal residential work, pulling the statewide average down.
How does a roofer move from the 25th to the 75th percentile?
The main drivers are years of hands-on experience, specialization in commercial or industrial systems, manufacturer certifications (particularly for single-ply membranes and metal roofing), and advancement to crew lead or foreman. Completing a structured apprenticeship accelerates this progression and positions workers to reach median wages within a few years of finishing.
Does the BLS salary figure include self-employed roofers in Minnesota?
No. The BLS OEWS survey covers wage and salary employees only. Self-employed roofers and owner-operators who run their own businesses are excluded. Their actual earnings vary widely based on job volume, overhead, and local market conditions, and are not reflected in the $74,490 median shown here.

Sources

Stay on top of Roofer pay

Get pay updates

Real BLS + union + peer pay for the trades and states you pick. No spam.