How much does a roofer make in Madison?
$60,820a year
Median yearly pay for roofers in the Madison, WI metro area. That is $29.24 an hour or $5,068 a month.
- Hourly
- $29.24
- Vs. national median
- +10%
- Rank among cities
- 59 of 265
- Jobs in the area
- 270
Pay range
Lowest 10%: $40,660Median: $60,820Highest 10%: $81,760
| Percentile | Yearly | Hourly | |
|---|---|---|---|
| 10th | $40,660 | $19.55 | |
| 25th | $49,300 | $23.70 | |
| Median | $60,820 | $29.24 | |
| 75th | $69,460 | $33.39 | |
| 90th | $81,760 | $39.31 |
Other cities in Wisconsin
Median yearly pay for roofers.
| Minneapolis, MN | $75,400 |
| Duluth, MN | $72,860 |
| Janesville, WI | $63,310 |
| Appleton, WI | $61,880 |
| Racine, WI | $60,680 |
| Milwaukee, WI | $60,140 |
| Green Bay, WI | $59,320 |
| Oshkosh, WI | $58,880 |
| Sheboygan, WI | $58,230 |
| Eau Claire, WI | $51,380 |
Related jobs in Madison
Same field, median yearly pay.
| Paving | $93,610 |
| First-Line Supervisors of Construction Trade and Extraction Worker | $93,290 |
| Structural Iron and Steel Worker | $92,460 |
| Insulation Worker | $91,470 |
| Pipelayer | $86,870 |
| Plumber | $85,160 |
| Operating Engineer and Other Construction Equipment Operator | $83,060 |
| Glazier | $82,480 |
| Brickmason and Blockmason | $82,420 |
| Electrician | $78,430 |
Frequently asked questions
How much does a roofer make an hour in Madison?
The median hourly pay in the Madison, WI metro area is $29.24 ($60,820 a year).
Do roofers make more in Madison than the national average?
Yes: $60,820 against $55,440 nationally, 10% more.
How does Madison compare with the rest of Wisconsin?
The median in Wisconsin is $59,370, so Madison pays 2% more.
Where does Madison rank for roofer pay?
59 of 265 metro areas with data.
How much does a roofer make starting out in Madison?
The lowest-paid 10% make $40,660 or less a year; the top 10% make $81,760 or more.
Source: U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics (OEWS): pay in May 2025, published by BLS in 2026. Hourly pay is the yearly figure divided by 2,080 hours.