Home / Guides / Class 4 Code Mandates

Where Class 4 Shingles Are Required by Code — Colorado’s Impact-Resistant Belt

Almost everywhere in the hail belt, a Class 4 impact-resistant roof is an insurance decision — you choose it, and your carrier may credit you for it. In a specific set of Colorado jurisdictions it is not a choice at all: the building code requires it, and the permit depends on it. This guide maps that belt from each jurisdiction’s own adopted amendment, shows the repair thresholds that decide whether the rule bites on your particular job, and marks where the belt ends — using the words of the towns that sit just outside it.

“Required by code” is not the same as “your insurer likes it”

Two different things get called a “Class 4 requirement,” and confusing them costs money in opposite directions.

The common one is an insurance matter: many carriers in hail country offer a premium credit for a documented Class 4 roof. That is a discount you negotiate, not a rule you must follow — and Colorado law does not compel carriers to offer it. That subject has its own guide: Class 4 Roof Insurance Discounts in Colorado.

The rarer one is a code matter: a jurisdiction amends its adopted building code so that asphalt shingles must be Class 4, tested to UL 2218. Where that amendment exists, Class 4 is not an upgrade you can decline. It belongs in the bid, and the inspector can fail the roof without it.

This guide is only about the second kind. Every jurisdiction below is listed because its own adopted amendment says so, quoted on its record.

The jurisdictions that require it

Across the states this directory covers, these are the permitting authorities whose own adopted codes mandate Class 4 impact-resistant asphalt shingles. Every one of them is in Colorado. Most sit in the northern Front Range, in and around Larimer, Weld and Boulder counties, but the belt is no longer only northern. The Class 4 requirement facet is generated from the records themselves and carries the current roster and count.

  • Fort Collins — a 2024 IRC local amendment adds R905.2.4.2: “Asphalt shingles shall be Class 4 impact resistant, tested in accordance with UL 2218.” Applies to re-roofs via R908.1.
  • Loveland — “Class 4 shingles required effective June 1, 2022,” per the city’s Roofing Affidavit, and listed as a requirement for replacements covering 50% or more of the roof.
  • Larimer County (unincorporated) — “Class ‘4’ impact resistant asphalt shingles are required for all new construction, repairs over 25%, and roof replacements.”
  • Boulder County (unincorporated) — “Asphalt shingles shall be Class 4 impact resistant, tested in accordance with UL 2218,” via the Boulder County Building Code amendment to IRC R905.2.4.2.
  • Berthoud — “Impact Resistance Asphalt Shingles required per R905.2.4 (Amended): Asphalt shingles shall be Class 4 impact resistant, tested in accordance with UL2218.”
  • Johnstown — the same amendment text, effective with the town’s adoption of the 2024 IRC on January 1, 2026.
  • Timnath — Ordinance No. 19, Series 2025 amends R905.2.4.2: “Asphalt shingles shall be Class 4 impact resistant and tested in accordance with UL 2218.”
  • Lafayette — a 2021 IRC/IBC local amendment requiring Class 4, with documentation or shingle packaging posted on site for inspection (effective March 15, 2021).
  • Eaton — item (23) of Eaton Municipal Code § 6-1-2 amends IRC R905.2.4: “Asphalt shingles shall be Class 4 impact resistant, tested in accordance with UL2218, and installed in accordance with the manufacturer’s installation instructions.”
  • Garden City — Garden City Municipal Code § 18-2-30(23) carries the same amendment to IRC R905.2.4, with exceptions for matching an existing shingle color or style when no Class 4 product matches.
  • LaSalle — LaSalle Municipal Code Sec. 18-147(25) amends IRC R905.2.4 with the same Class 4 / UL 2218 sentence, subject to the same two matching exceptions.
  • Arvada — Ordinance No. 4921, adopted March 24, 2026 and effective July 1, 2026, repealed and reenacted City Code Chapter 18 to adopt the 2024 IRC; its Section 18-191 amends R905.2.4.2: “Asphalt shingles shall be Class 4 impact resistant, tested in accordance with UL 2218.” Exceptions cover color/style matching and repairs not exceeding 100 square feet.
  • Milliken — Milliken Municipal Code Sec. 18-10-20, the town’s 2024 IRC amendment list (Ordinance No. 834, adopted December 22, 2025), amends R905.2.4: “Asphalt shingles shall be Class 4 impact resistant, tested in accordance with UL2218.” A repair covering more than half the roof area triggers full replacement in Class 4.
  • Estes Park — Estes Park Municipal Code section 14.12.070 (Ordinance No. 04-23, effective January 1, 2024) adds IRC R905.2.4.2: “Asphalt shingles shall be Class 4 impact resistant, tested in accordance with UL 2218.” The town’s IBC amendments carry the identical rule as added section 1504.8.1.

Most of these sit in or against Larimer, Weld and Boulder counties. Two are worth calling out separately. Lafayette is in Boulder County but well south of the northern cluster. Arvada is in the Denver metro entirely, and it did not amend its way there gradually: its previous codified amendment list, under the 2018 IRC, carried no impact-resistance provision at all. The requirement arrived with the city’s move to the 2024 code. That is the pattern to watch, because a jurisdiction with no Class 4 rule today can acquire one at its next code adoption.

Estes Park is the third exception, and the most instructive one. It is a mountain town in the wildland-urban interface, where the roofing conversation is normally about fire, and it does require a Class A fire-rated covering under its amendment to R902.1. It also requires Class 4 under a separate amendment. Those are two different tests answering two different questions, stacked on the same roof. In fire country, confirm both: a Class A assembly satisfies nothing about hail, and a Class 4 shingle satisfies nothing about ignition.

Where the belt stops — in the neighbours’ own words

The most useful thing about this belt is that the towns immediately outside it say so themselves, in print.

Windsor and Dacono both publish a residential re-roofing guide — through SAFEbuilt, the contract administrator they share — containing this line:

“IMPACT RESISTANT SHINGLES ARE NOT REQUIRED EXCEPT IN THE TOWN OF TIMNATH.”

That is direct evidence for Windsor and Dacono, and Windsor borders Timnath directly. Read it carefully, though: the sentence is scoped to the jurisdictions that particular guide covers, and it is not a list of every Colorado town that requires Class 4. Milliken is administered by the same firm and does require Class 4 under its own ordinance. A contract administrator’s handout tells you about the jurisdictions it serves, not about the state.

Weld County carries the other explicit negative: a read of the full text of the county’s IRC (Sec. 29-2-30) and IBC (Sec. 29-2-20) adoptions confirms no amendment mandates Class 4.

Much of the Denver metro has now been read directly, and it came back clean. Denver, Boulder, Broomfield, Erie, Superior and Louisville each had a named adopting instrument read in full, and none of them mandates impact resistance. Two cautions come with that. Boulder County requires Class 4 but the City of Boulder is a separate home-rule jurisdiction and does not — the county rule does not reach inside the city, and the same is true of Louisville, Superior and Erie within Boulder County. And these findings describe the code in force when it was read; Arvada shows that a metro city can acquire a Class 4 mandate at its next code adoption.

An important limit on this map: only jurisdictions with an explicit sourced statement are characterised here in either direction. Many Colorado permitting authorities in this directory still carry no recorded finding on this question. That means we have not established one, not that they have no requirement. Every record says plainly which of the two it is, so check the individual record, or the building department, before relying on silence.

How the belt spread: shared codes and shared documents

These are not independent inventions. Two mechanisms are visible in the documents themselves.

First, counties and their municipalities adopted separately but alike. Larimer County’s unincorporated amendment sits alongside Fort Collins, Loveland, Berthoud and Timnath — four municipalities inside or bordering it — each with its own ordinance. Boulder County does the same alongside Lafayette. In Weld County the same shape repeats across Eaton, Garden City, LaSalle, Milliken and Johnstown, whose amendments share the identical Class 4 / UL 2218 sentence and even the same numbered-item drafting. A homeowner does not need to know which authority they fall under; in this corner of the state, they land on the requirement either way.

Second, the amendment text itself travels. Berthoud’s and Johnstown’s published requirements are word-for-word identical, down to the “R905.2.4 (Amended)” phrasing and the closed-up “UL2218.” The two towns adjoin each other across the Larimer–Weld line. Identical language in adjacent jurisdictions is evidence of a shared template rather than parallel drafting — though the documents record the text, not the reason a given council adopted it.

The contrast with north Texas is instructive. There, the same regional sharing produces the opposite result: cities across the Dallas–Fort Worth metro adopt the North Central Texas Council of Governments’ recommended amendment package, and that package contains no impact-resistance provision at all. McKinney, for one, incorporates the NCTCOG amendments by reference as an attachment to its own ordinance. One region’s shared template puts Class 4 in; another’s leaves it out.

The threshold matters as much as the mandate

“Is Class 4 required here?” has a second half: how much of the roof are you touching? Most of these jurisdictions trigger the requirement only past a stated repair size, and the numbers are not the same.

  • Larimer County — new construction, roof replacements, and repairs over 25%. Exceptions for repairs or additions not exceeding 100 sq ft.
  • Fort Collins — exceptions for repairs not exceeding 49% of roof area (or additions not exceeding 50% of original building size).
  • Loveland — required on replacements covering 50% or more; repairs up to 49% may match the existing non-Class-4 shingle.
  • Boulder County — the owner may request a code modification where the work is no greater than 200 sq ft and no greater than 25% of total roof area.
  • Milliken — repairs under half the roof area may reuse the existing material; a repair exceeding 50% requires the whole roof to be replaced in Class 4.
  • Arvada — repairs or additions not exceeding 100 sq ft to an existing non-Class-4 roof may use the same or similar material.

Two jurisdictions fifteen miles apart flip at 25% and 50%. On a partial repair that difference decides whether the job carries a Class 4 line item.

Nearly every one of these ordinances also carries a colour-match escape hatch: where no Class 4 product matches the colour or style of the existing shingles, Fort Collins, Larimer County, Timnath and Boulder County each allow relief — Timnath by letting the Building Official approve the highest impact class available, Boulder County on a written statement from a roofing contractor or supplier that no matching Class 4 shingle exists. These are administrative approvals, not automatic exemptions: get them in writing before the roof goes on.

Where the answer actually lives, state by state

“Does my state require Class 4?” is the wrong question in all six of these states, but for different reasons — and knowing which reason applies tells you which document to ask a building department for.

  • Oklahoma has a genuine statewide code. The Oklahoma Uniform Building Code Commission adopts the IRC and publishes its own amendments, and those amendments contain no impact-resistance provision of any kind. But the enabling statute (59 O.S. § 1000.23) makes the state code a minimum and expressly preserves each municipality’s authority to “enact and enforce requirements containing higher standards.” So the state’s silence proves nothing about any individual city, which is why we read all of them separately.
  • Nebraska is the same shape. The state building code adopts the 2018 IRC by reference and excludes only section R313 and chapters 25–33 — Chapter 9, Roof Assemblies, is adopted unmodified. But § 71-6406 lets any county, city or village amend or delete any portion of it “to increase safety, durability” or “address special local conditions,” which is exactly where a hail rule would sit if one existed.
  • Kansas and Missouri have no state residential code instrument bearing on roof coverings. The local ordinance is the law, which is why Missouri jurisdictions we cover are simultaneously on the 2012, 2015, 2018, 2021 and 2024 editions of the IRC. In Kansas the regional codes matter more than the state: Wichita and Sedgwick County run a joint Unified Building and Trade Code that Andover opted into wholesale and Haysville incorporates by reference, and Shawnee County simply adopts whatever Topeka currently has. Kansas did enact a state building-code provision in 2026 — SB 418, the By-right Housing Development Act, requires cities to permit the 2018 IRC for small new single-family homes — but it is an edition floor for new construction and touches nothing in the roofing chapter.
  • Minnesota is the opposite shape from all of them, and it is the one state where the state-level answer really does settle the question. Minn. Stat. § 326B.121 makes the State Building Code “the standard that applies statewide” and says it “supersedes the building code of any municipality,” and subdivision 2(c) bars a city from requiring code provisions “different from any provision of the State Building Code” by ordinance. That is preemption, not a floor: a Minnesota city cannot lawfully add a Class 4 requirement even if it wanted to. The residential chapter, Minnesota Rules chapter 1309, amends the IRC’s roofing chapter in exactly two places — kick-out flashing, and a sheathing rule that also deletes the drip-edge section — and neither touches impact resistance. The only escape hatch is a narrow one for geological conditions, which needs the state building official’s approval and has nothing to do with hail.

The practical consequence for a roofer: in Oklahoma and Nebraska, a building department quoting “the state code” is quoting a floor, not a ceiling. In Kansas and Missouri there is no floor to quote — ask for the adopting ordinance by number. In Minnesota the state code is the whole answer, and a city telling you otherwise is telling you something its own statute does not permit.

What this means when you bid or buy

Inside the jurisdictions listed above, Class 4 is a permit condition. Price it into the bid, keep the wrapper or spec sheet for the inspection, and check the repair threshold before assuming a partial job escapes the rule.

Outside them, Class 4 is an economics question rather than a legal one — worth doing in hail country on its merits, and often worth a carrier credit, but not something an inspector will require. Across the hail belt we have now gone jurisdiction by jurisdiction through the adopted residential code amendments of the permitting authorities we cover in Texas, Oklahoma, Kansas, Missouri and Nebraska, reading each city or county’s own adopting ordinance rather than searching for one, and found no residential Class 4 mandate in any of them. We have since done the same across Minnesota, where the state code forecloses the question outright, and across Arkansas and Georgia, where every permitting authority we cover has now been read and none requires an impact rating. The driver in those states is insurer pricing, not code.

That statement now carries no exceptions. For a long time a handful of jurisdictions sat outside it because their adopting documents could not be opened rather than because they were read and came back clean; the last six of those were obtained and read in full in August 2026, and every one came back clean. Canadian County and Creek County in Oklahoma are a different case again — each states that it enforces no residential building code in its unincorporated area at all, so there is no code there to require anything. The Class 4 requirement facet carries the current count.

For which products actually carry the rating and how to verify one before you buy, see Class 4 Impact-Resistant Shingles: A Buyer’s Guide. For the jurisdiction-by-jurisdiction list in directory form, see the Class 4 requirement facet. And note that impact resistance is a separate test from fire and wind ratings — a “Class A” roof is a fire rating and tells you nothing about hail; Wind & Fire Ratings Explained untangles the three.

Frequently asked questions

Which jurisdictions require Class 4 impact-resistant shingles by code?

Every confirmed mandate is in Colorado: Fort Collins, Loveland, Larimer County, Boulder County, Berthoud, Johnstown, Timnath, Lafayette, Eaton, Garden City, LaSalle, Milliken, Estes Park and Arvada. Each requires UL 2218 Class 4 asphalt shingles through its own adopted-code amendment. Most are in the northern Front Range across Larimer, Weld and Boulder counties, but Arvada is in the Denver metro. It added the requirement when it adopted the 2024 code, effective July 1, 2026, having had no such provision before. The Class 4 requirement facet is generated from the records and always carries the current roster.

Is Class 4 required in Denver?

No. Denver’s own adopted code has now been read directly, both the Denver Residential Code’s roof-assemblies chapter and the city’s Roofing Guide and Checklist, and Denver does not require Class 4. Its amendment at the impact-resistance section addresses wind classification, not impact, which is a different test. Denver does still require a permit for a re-roof, so confirm the current requirements with Denver Community Planning and Development for your specific job.

Is Class 4 required anywhere in Texas, Oklahoma, Kansas, Missouri, Nebraska or Minnesota?

Not in any jurisdiction we have been able to verify. We read the adopted residential code amendments of the permitting authorities we cover across all six states — city by city and county by county, from each one’s own adopting ordinance — and none mandates UL 2218 Class 4 for residential re-roofs. Minnesota is a special case: its state building code preempts local variation outright, so no Minnesota city can add such a requirement. Several do amend their roof-covering sections, but to set fire classification (Class A, B or C under ASTM E 108 or UL 790) or to bar a second layer of shingles on a re-roof, both of which are different questions from impact resistance. Every adopting document in scope has now been read, including the last six, which sat behind site protections for months and were obtained in August 2026. One caveat worth knowing if you bid larger work: Arlington and Irving, both in the Dallas–Fort Worth area, each require UL 2218 Class 4 under a green-building ordinance that applies only to multi-family and mixed-use development, not to houses. Neither reaches a one- or two-family re-roof.

A Kansas city lists “Class 4 shingles” in its code — is that a requirement?

Not necessarily, and Leawood is the case worth knowing. The Leawood Development Ordinance names “Class 4 Impact Rated Laminated Composition Shingles” in its list of permitted single-family roofing materials — but as one of twelve categories a homeowner may choose from, alongside wood shake, slate, tile, metal and ordinary laminated composition shingles. It is a permitted option, not a mandate, and a plain non-rated shingle remains an equally valid choice there. The same ordinance does require a minimum UL Class 3 impact rating for solar slate specifically, and only if you choose solar slate. When a code names Class 4, read whether it is on a list of what you may use or in a sentence about what you must use.

Does a Class 4 mandate apply to a small repair?

Usually not, but the cutoff varies by jurisdiction. Larimer County triggers on repairs over 25% of the roof, Fort Collins excepts repairs up to 49%, Loveland applies the requirement to replacements of 50% or more, and Boulder County allows a code modification for work no greater than 200 square feet and 25% of the roof. Check the specific jurisdiction before assuming a partial repair is exempt.

What if no Class 4 shingle matches my existing roof colour?

Most of these ordinances anticipate that. Fort Collins, Larimer County, Timnath and Boulder County each provide relief where no Class 4 product matches the colour or style of the existing shingles — Timnath by allowing the Building Official to approve the highest impact class available, Boulder County on a written statement from a roofing contractor or supplier. These are approvals to obtain in advance, not automatic exemptions.

Is a Class 4 mandate the same as an insurance discount requirement?

No. A code mandate means the jurisdiction requires the product and the permit depends on it. An insurance discount is a credit a carrier may offer for installing it voluntarily. Colorado law does not require carriers to offer such a discount, and most jurisdictions with no Class 4 mandate still sit in insurer discount territory.