Roofer salary in San Antonio, TX
Updated September 27, 2026 with BLS data from May 2025
Roofers in the San Antonio–New Braunfels, TX area earn a median of $43,720 a year, or $21.02 an hour, according to May 2025 BLS data. The top 10% earn more than $61,760. Across all of Texas, the median is $46,030, so San Antonio pays 5% less than the state as a whole.
- Entry-level starting pay (estimate)
- $14.39/hr
- Jobs in this area
- 350
- After cost of living
- $46,160
- Median hourly pay
- $21.02/hr
- vs U.S. median
- −21%
- vs Texas median
- −5%
- Mean (average) pay
- $45,090 a year · $21.68 an hour
Pay by percentile
What roofers in San Antonio, TX earn at each point of the pay range, May 2025: 10% earn less than the 10th percentile, half earn less than the median, and 10% earn more than the 90th.
| Percentile | Hourly | Yearly |
|---|---|---|
| 10th percentile | $14.39 | $29,940 |
| 25th percentile | $17.64 | $36,690 |
| Median (50th) | $21.02 | $43,720 |
| 75th percentile | $23.70 | $49,300 |
| 90th percentile | $29.69 | $61,760 |
BLS Occupational Employment and Wage Statistics, May 2025. BLS yearly figures are the hourly wage times 2,080 hours.
How San Antonio, TX compares
- San Antonio ranks 6th of 10 Texas metro areas for roofer pay.
- Roofers are less concentrated in the San Antonio area than nationally: 0.3 of every 1,000 jobs, 0.36 times the U.S. share.
Other Texas metro areas
Other trades in San Antonio, TX
Questions
- Do roofers make more in San Antonio or Waco?
- Waco pays more: the median is $43,720 in San Antonio and $49,000 in Waco, a 11% difference.
About this data
Wages are from the U.S. Bureau of Labor Statistics Occupational Employment and Wage Statistics survey for May 2025, occupation 47-2181 (Roofers), area code 41700 (San Antonio-New Braunfels, TX). BLS counts wage and salary workers only, so self-employed roofers and business owners aren't included. The cost-of-living figure divides the median by the Bureau of Economic Analysis Regional Price Parity for 2024 (94.7, where the U.S. average is 100). Page updated September 27, 2026. How we calculate these figures