How much does a roofer make in Houston?
$45,500a year
Median yearly pay for roofers in the Houston-Pasadena-The Woodlands, TX metro area. That is $21.88 an hour or $3,792 a month.
- Hourly
- $21.88
- Vs. national median
- -18%
- Rank among cities
- 234 of 265
- Jobs in the area
- 1,230
Pay range
Lowest 10%: $34,070Median: $45,500Highest 10%: $59,080
| Percentile | Yearly | Hourly | |
|---|---|---|---|
| 10th | $34,070 | $16.38 | |
| 25th | $37,100 | $17.84 | |
| Median | $45,500 | $21.88 | |
| 75th | $50,690 | $24.37 | |
| 90th | $59,080 | $28.40 |
Other cities in Texas
Median yearly pay for roofers.
| Waco, TX | $49,000 |
| Austin, TX | $47,340 |
| Dallas, TX | $46,990 |
| Tyler, TX | $45,700 |
| San Antonio, TX | $43,720 |
| Longview, TX | $39,460 |
| Corpus Christi, TX | $37,600 |
| Lubbock, TX | $36,650 |
| El Paso, TX | $36,300 |
Related jobs in Houston
Same field, median yearly pay.
| Elevator and Escalator Installer and Repairer | $104,400 |
| Rotary Drill Operator | $79,450 |
| Boilermaker | $77,090 |
| First-Line Supervisors of Construction Trade and Extraction Worker | $76,020 |
| Pile Driver Operator | $70,030 |
| Construction and Building Inspector | $66,780 |
| Extraction Worker | $64,740 |
| Derrick Operator | $62,910 |
| Plumber | $61,300 |
| Electrician | $59,180 |
Frequently asked questions
How much does a roofer make an hour in Houston?
The median hourly pay in the Houston-Pasadena-The Woodlands, TX metro area is $21.88 ($45,500 a year).
Do roofers make more in Houston than the national average?
No: $45,500 against $55,440 nationally, 18% less.
How does Houston compare with the rest of Texas?
The median in Texas is $46,030, so Houston pays 1% less.
Where does Houston rank for roofer pay?
234 of 265 metro areas with data.
How much does a roofer make starting out in Houston?
The lowest-paid 10% make $34,070 or less a year; the top 10% make $59,080 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.