The short answer
A new asphalt shingle roof on a typical Denver house runs about $7,350 to $14,700 for 2,000 square feet, and metal runs $10,500 to $33,600. Most repairs land between $79 and $1,050. In Denver the hail rating matters as much as the price. Every city around the metro has its own roofer license and permit.


What roofers charge in Denver
The table uses national cost data adjusted for Denver. The U.S. Army Corps of Engineers puts construction costs in the Denver area at 1.05 times the national average, so a roof that costs $10,000 elsewhere tends to cost around $10,500 here.
| Job | Denver (typical range) | US average |
|---|---|---|
| Asphalt shingle roof, 2,000 sq ft | $7,350–$14,700 | $7,000–$14,000 |
| Metal roof, 2,000 sq ft | $10,500–$33,600 | $10,000–$32,000 |
| Tile roof, 2,000 sq ft | $14,700–$52,500 | $14,000–$50,000 |
| Flat roof, 1,000 sq ft | $3,150–$11,550 | $3,000–$11,000 |
| Tear-off of one old layer, 2,000 sq ft | $2,100–$4,200 | $2,000–$4,000 |
| Vent boot repair | $79–$160 | $75–$150 |
| Replace up to 25 shingles | $105–$315 | $100–$300 |
| Flashing repair | $210–$525 | $200–$500 |
| Minor leak repair | $160–$1,050 | $150–$1,000 |
| Leak with water damage | $1,050–$6,300 | $1,000–$6,000 |
| Roof deck repair, per 100 sq ft | $210–$525 | $200–$500 |
Estimates for 2026, including labor and standard parts. Denver prices use the metro's construction cost factor of 1.05 (US average = 1.00) from the U.S. Army Corps of Engineers Area Cost Factors. Your quote depends on access, materials and the condition of the home.
What pushes a quote up in Denver:
- Material. Architectural shingles are the baseline. Class 4 impact-rated shingles cost more up front. Metal and tile sit well above both.
- Tear-off. Each old layer that has to come off adds $2,100 to $4,200 on a 2,000-square-foot roof.
- Deck repairs. Rotten sheathing found after tear-off is priced per 100 square feet, at $210 to $525.
- Access and pitch. Steep roofs and tight lots slow the crew down, and that shows up in labor.
- Code items. Ice and water shield at the eaves, wind uplift fasteners and, in some places, a Class A assembly all add cost.
Run your own numbers with the cost estimator, or open the full roofing cost estimator. Both use the rate for your ZIP code. For national prices and how roofers measure a roof, see our roofing cost guide.
The same estimator has its own page, easy to share or bookmark: Roof replacement cost estimator.
Roofing materials that suit Denver
Denver prices for 2,000 square feet of roof:
| Material | Denver installed cost, 2,000 sq ft | Notes for this metro |
|---|---|---|
| Asphalt (composition) shingles | $7,350 to $14,700 | The default choice. Class 4 impact-rated shingles are common here because of hail |
| Metal | $10,500 to $33,600 | Light, sheds hail well, costs more up front |
| Concrete or clay tile | $14,700 to $52,500 | Heavy. The underlayment wears out before the tile does |
| Low-slope (flat) roof, 1,000 sq ft | $3,150 to $11,550 | Common on older commercial buildings and additions |
Aurora sits within one of Colorado's highest hail-impact regions, and that drives material choice across the whole metro. Many contractors use Class 4 impact-resistant shingles in Aurora to improve durability and reduce damage claims. Installation methods matter for warranty and code compliance (OneClick Code). The same logic applies in Denver, Lakewood, Littleton and Arvada.
Class 4 shingles and hail
A Class 4 rating means the shingle survived a laboratory impact test without cracking. It does not make a roof hail-proof or stop a claim. It raises the odds the roof survives a storm that would total a standard shingle roof. Ask the roofer for the manufacturer's Class 4 listing for the exact product.
Flat roofs on older buildings
Low-slope roofs need a membrane or a coating, not shingles. On a 1,000-square-foot flat roof, expect $3,150 to $11,550. Ponding water and failed seams are the weak points on flat roofs. Ask how the roofer will handle drainage before the membrane goes down.
Why Denver roofs fail when they do
Denver weather hits a roof in several ways:
- Hail. Spring and summer storms are the main cause of roof claims across the metro. Aurora in particular sits in a high hail zone.
- Freeze-thaw. Water gets into a crack or behind a flashing, freezes overnight and pushes the material apart. This repeats all winter.
- Snow load. Snow sits on the roof and melts slowly, and ice dams form at the eaves when the attic is warm.
- Sun and UV at altitude. The sun is stronger here than at sea level, and it breaks down shingles, sealant and paint faster.
- Wind. Straight-line winds lift shingle tabs and tear at ridge caps and flashing.
The practical answer is ice and water shield at the eaves and in valleys, proper attic ventilation, and a roofer who checks the flashing at chimneys, skylights and walls, not only the field of shingles.
Ice and water shield
Aurora requires ice barriers that comply with IRC R905 underlayment requirements (OneClick Code). The membrane keeps meltwater from backing up under the shingles at the eaves. Ask for it in writing in the estimate. A low bid often leaves it out.
Wind and fire ratings
Aurora requires wind uplift compliance under ASTM D7158 and D3161, and Class A fire ratings are commonly required for roofing materials there (OneClick Code). Class A rates the whole assembly, including the underlayment and how it is installed. Ask for the listing that covers the exact product and assembly.
Do you need a permit?
Yes, in almost every jurisdiction in the metro. Reroofs almost always require a permit in the Denver metro (BH Builders). The permit brings an inspector to check the deck, underlayment, flashing and ice barrier. It also creates the record a buyer's inspector or your insurer will look for later.
The city or county where you live issues it:
| City or county | Permit authority | Roofer licensing |
|---|---|---|
| Denver | City building department | Denver contractor license; Littleton accepts reciprocal Denver licenses |
| Aurora | City building department | Aurora contractor license; Littleton accepts reciprocal Aurora licenses |
| Lakewood | City of Lakewood, through eTRAKiT | Class 5H Roofing and Waterproofing registration |
| Littleton | City of Littleton, through eTRAKiT | Class D-5 Roofing license, $75 |
| Arvada | City of Arvada | Class R Builder's Roofing License |
| Boulder | City of Boulder | Boulder contractor license, no reciprocity |
| Unincorporated Douglas County | Douglas County Building Division | Contractor registration, fees currently waived |
Denver
Denver prices a residential building permit on the declared valuation of the work, which is materials plus labor, including anything you do yourself. Plan review is commonly charged at about 65% of the permit fee, and use tax on materials is collected at permit time at the city's rate, generally 3% to 4.9% across the metro (BH Builders). Some like-for-like reroofs qualify for quick or same-day permits. Historic districts and landmark properties add a design-review layer before the building permit. Build that into the schedule.
Aurora
Aurora requires permits for full roof replacements, structural roof repairs and major reroofing work, and inspections are typically required before project completion (OneClick Code). Aurora adopts versions of the IRC and IBC with Colorado amendments. Those requirements change, so confirm the current code with the city before the crew starts.
Lakewood
Lakewood issues contractor registrations and licenses, and roofing and waterproofing contractors must hold a specialized registration, class 5H (Lakewood). New registrations carry a one-year probationary restriction, then renew for three years. Specialized classes cost $80 for the first year and $210 for the three-year renewal. Contractors must register with Lakewood and have a contractor account in eTRAKiT before they can pull a permit (Lakewood).
Littleton
Littleton licenses roofers under a Class D-5 Roofing license, which costs $75 (Littleton). Roofers must show they passed an ICC test or hold an active equivalent license from an approved jurisdiction. Littleton accepts reciprocal licenses from Denver, Aurora, Colorado Springs, Park County, Pueblo, Pikes Peak, Thornton, Wheat Ridge, Fort Collins and Longmont. Every Littleton contractor license requires liability insurance listing the city as certificate holder. Corporations and LLCs must carry workers' compensation. Inspections scheduled Monday through Friday before 4:00 pm go on the schedule for the next available day (Littleton).
Arvada
Contractors must get a license from the City of Arvada before they can get building permits (Arvada). The Class R Builder's Roofing License requires passing an ICC test or holding a license from a Colorado jurisdiction where the roofer tested (Arvada). Licenses last one year and contractors must re-apply every year. The city reviews applications within five business days.
Boulder
Boulder does not accept reciprocal contractor licenses from other jurisdictions (Boulder). Contractors must carry general liability insurance of at least $1,000,000 per occurrence and $2,000,000 aggregate, with the City of Boulder listed as additional insured. The city will not issue a permit for work by a person without a valid, current license. The city charges roofing permits using the Building Permit Fee schedule based on the applicant's valuation. It doubles the fee on permits for work started or completed without an approved permit (Boulder). Single-family plan check costs 25% of the building permit fee and is non-refundable. A reinspection fee of $94 per occurrence applies. All exterior changes to a landmark or a property in a historic district need a Landmark Alteration Certificate before permit application (Boulder).
Douglas County
In unincorporated Douglas County, homeowners can apply online for roofing permits through the county's eSubmittal system (Douglas County). Roofing contractors must be registered with the county, and registration fees are currently waived (Douglas County). Contractors must complete registration before the county issues a building permit. They must submit proof of workers' compensation and business liability insurance. Douglas County will not recommend contractors. Registration only shows the contractor meets minimum insurance requirements. If the contractor changes during construction, notify the county. The permit is suspended until you select a new registered contractor.
How insurance claims work after a hailstorm
Before calling a roofer, photograph the damage inside and out and call your insurer to open a claim. Get the adjuster's scope in writing and compare it line by line with the roofer's estimate. Be careful with anyone who knocks on doors after a storm.
Colorado has no state roofing license, so the license you check is the city or county one. A roofer who cannot show a current Denver, Aurora, Lakewood, Littleton, Arvada, Boulder or Douglas County credential cannot pull your permit.
Repair or replace?
Repair makes sense when the damage is local. At Denver prices:
- Vent boot repair: $79 to $160
- Up to 25 shingles replaced: $105 to $315
- Flashing repair: $210 to $525
- Minor leak repair: $160 to $1,050
- Leak with water damage: $1,050 to $6,300
- Roof deck repair: $210 to $525 per 100 square feet
Replacement starts to make sense when leaks show up in more than one place after the same storm, when shingles are bald, curled or brittle over large areas, when the roof is near the end of its material's lifespan, or when the deck is soft in several spots. On tile roofs, the tile may be fine while the underlayment underneath is failing. A lift and relay can be the middle option.
How to check a roofer before you hire
Colorado has no statewide roofing license. The credential that matters is the city or county license or registration. Each one has its own lookup.
- Ask which city or county the roofer is licensed in, and get the license number.
- Look it up. Lakewood registrations renew through eTRAKiT, and the permit counter can be reached at 303-987-7500 (Lakewood). Boulder licenses can be checked through the city's Customer Self-Service portal or Open Data catalog (Boulder). Douglas County lets you search for registered contractors online (Douglas County).
- Check the business itself with the Colorado Secretary of State, which is a filing registry and does not certify that a business is operating legally (Colorado Secretary of State).
- Confirm insurance. Littleton requires a certificate of liability insurance listing the city as certificate holder, and corporations and LLCs must carry workers' compensation. Boulder requires $1,000,000 per occurrence and $2,000,000 aggregate.
- Get a written contract that names the product line, the Class 4 listing if you are buying impact-rated shingles, the ice and water shield, the flashing and who pulls the permit.
- Keep the deposit small and tie payments to stages you can see.
GOLDGCP checks every roofer before they join: state license verification, insurance, a business and public-records check, a portfolio review, client reference calls, and onboarding with a quality score. You pay in milestones, each one after you approve that stage. Read more about how milestone payments work.
Areas we cover
Roofers in the GOLDGCP network work across the Denver metro and the Front Range:
- Denver
- Aurora
- Lakewood
- Littleton
- Highlands Ranch
- Arvada
- Boulder
Enter your ZIP code to see roofing prices for your street and get matched with a local roofer.
How GOLDGCP works
- Tell us about the roof: material, rough size, the leak or the plan. Use the form, call or send a WhatsApp message.
- You see prices for your ZIP code, then we match you with up to 3 vetted, licensed roofers.
- Your roofer inspects, gives a written estimate, pulls the city or county permit and orders the right shingles, underlayment and flashing.
- You pay by milestone: for example after tear-off and deck inspection, and after the final inspection. Track it all in the client portal.
For an active leak during a storm, call our 24/7 emergency line.
Frequently asked questions
How much does a new roof cost in Denver?
For about 2,000 square feet of roof, expect $7,350 to $14,700 in asphalt shingles, $10,500 to $33,600 in metal and $14,700 to $52,500 in tile. A 1,000-square-foot flat roof runs $3,150 to $11,550. Tear-off of an old layer adds $2,100 to $4,200, and deck repairs add $210 to $525 per 100 square feet.
How much does roof repair cost in Denver?
Small fixes such as a vent boot, a few shingles or a flashing repair cost about $79 to $525. A minor leak runs $160 to $1,050. If water has already damaged the deck, insulation or a ceiling, plan on $1,050 to $6,300.
Do I need a permit to replace my roof in Denver?
Yes. Reroofs almost always require a permit in the Denver metro. Denver prices the permit on the declared valuation of the work, and some like-for-like reroofs qualify for quick or same-day permits. Aurora, Lakewood, Littleton, Arvada, Boulder and unincorporated Douglas County each issue their own roofing permits.
Does a Class 4 roof lower my insurance in Colorado?
The research for this page does not include a Colorado insurance discount figure. Ask your insurer directly. The research does show that Aurora sits in one of Colorado's highest hail-impact regions. Many contractors there use Class 4 impact-resistant shingles to improve durability and reduce damage claims.
What license does a roofer need in Denver?
Colorado has no statewide roofing license. Denver, Aurora, Lakewood, Littleton, Arvada and Boulder each license or register roofers, and unincorporated Douglas County requires contractor registration. Littleton uses a Class D-5 Roofing license, Lakewood a class 5H registration, and Arvada a Class R Builder's Roofing License.
When should I fix my roof in Denver?
Before storm season and before winter. Hail hits in spring and summer, and freeze-thaw damage builds through the winter. Book an inspection in early spring, before the first big hail storms, to avoid the post-storm rush when every roofer in the metro is busy.
What roof is required in a Boulder historic district?
All exterior changes to a property designated as an individual landmark or located within a historic district require a Landmark Alteration Certificate before permit application (Boulder). Check with the city before you choose a material. The review can change what you are allowed to install.
How we calculate these prices
GOLDGCP starts from national price ranges for each job, taken from published 2026 cost guides and checked against local price guides where they exist. To get a local price, we multiply the national range by the construction cost factor for the metro from the U.S. Army Corps of Engineers Area Cost Factors (US average = 1.00). Where that table has no entry for a metro, we use the nearest listed location or the state value. For ZIP codes outside the 50 largest metros, the cost estimator uses the state's price level from the Bureau of Economic Analysis Regional Price Parities. Ranges include labor and standard materials but not unusual site conditions, so a written quote after an inspection is always the final price.
Sources
- OneClick Code
- BH Builders
- City of Lakewood
- City of Lakewood, CO
- City of Littleton, Colorado
- City of Littleton
- City of Arvada · Contractor Licenses
- City of Arvada · Building Contractor
- City of Boulder · Contractor Licensing
- City of Boulder · Planning and Development Services 2025…
- City of Boulder · Building Permits and Inspections
- Douglas County Department of Public Works Engineering, Building Division
- Douglas County Government
- coloradosos.gov
- U.S. Army Corps of Engineers
- U.S. Bureau of Economic Analysis
