Home Improvement11 min read

Solar on a Flat or Low-Slope Roof: What the Code Allows

By Seamless Home Team, Home services operations · September 13, 2026

Quick answer

Yes, solar goes on flat and low-slope roofs routinely — but the roof covering changes first, and that is what changes the installation. The International Residential Code sets a minimum slope for every covering in Section R905: asphalt shingles are permitted only at 2 units vertical in 12 horizontal or greater, clay and concrete tile at 2½:12, slate at 4:12. Membrane systems and standing-seam metal go far lower, down to ¼:12. So a genuinely low-slope roof is not a shingle roof, and an array on it is not attached the way an array on a pitched shingle roof is attached. The two practical consequences are that penetrating a membrane is the roofer's detail rather than the solar crew's, and that tilting panels up to recover the production a flat roof loses increases wind uplift, which is the most common reason a low-slope array needs a structural review. Drainage is the risk nobody prices: a flat roof drains slowly by design, and anything set down on it can interrupt the path.

A homeowner with a flat roof asks whether solar will work on it. The honest answer is that it usually will, and that almost nothing about the installation is the same as the pitched-roof version people have seen on their neighbours' houses.

The reason is upstream of solar entirely. A low-slope roof has a different covering on it, because the code does not permit the conventional ones at that angle. Everything else — how the array attaches, who does the attaching, what the risk is, whether an engineer gets involved — follows from that one fact.

"Flat" is not a code word. "Low slope" is

No roof is flat. Every roof has to move water off itself, so what people call a flat roof is a roof with a slope small enough to look level — typically a quarter-inch to half-inch of fall per foot.

The International Residential Code never uses the homeowner's word. What it does instead, throughout Section R905, is set a minimum slope for each type of roof covering. The effect of those minimums is to sort roofs into two groups without ever naming them: above roughly 2:12 you may use the steep-slope coverings, and below it you may not.

The minimum slope for each covering

These are the figures in R905. Slope is expressed as units of vertical rise in 12 units of horizontal run.

CoveringMinimum slopeSection
Asphalt shingles2:12 (double underlayment below 4:12)R905.2.2
Clay and concrete tile2½:12 (double underlayment below 4:12)R905.3.2
Metal roof shingles3:12R905.4.2
Mineral-surfaced roll roofing1:12R905.5.2
Slate shingles4:12R905.6.2
Wood shingles3:12R905.7.2
Wood shakes3:12R905.8.2
Built-up roofs¼:12R905.9.1
Metal panels, lapped seam, no sealant3:12R905.10
Metal panels, lapped seam with sealant½:12R905.10
Metal panels, standing seam¼:12R905.10
Modified bitumen¼:12R905.11.1
Thermoset single-ply¼:12R905.12.1
Thermoplastic single-ply¼:12R905.13.1

Two things fall straight out of that table.

A genuinely low-slope roof is not a shingle roof. If the slope is below 2:12, asphalt shingles are not a permitted covering. Below 2½:12, neither is tile. What is left is membrane — built-up, modified bitumen, or a single-ply sheet such as TPO or EPDM — or a metal panel system, or roll roofing on a small secondary roof. That is the covering an array will be sitting on.

Slope also changes how a permitted covering is built. The two shallowest steep-slope bands, 2:12 to 4:12 for shingles and 2½:12 to 4:12 for tile, require two layers of underlayment rather than one. The covering is the same; the assembly underneath it is not.

Section numbers move between code editions — the metal panel slopes sit at R905.10.2 in some editions and R905.10.1.1 in others — and jurisdictions amend Chapter 9. Confirm against the edition your building department has adopted rather than against any general table, this one included.

What changes when the array goes on a membrane

On a pitched shingle roof, the attachment story is well understood: a lag or structural screw into a rafter or truss, a flashing that integrates with the shingle courses above and below it, and a load path from the panel through the rail to a structural member. That is the subject of how solar panels attach to a roof, and essentially none of it transfers.

A membrane roof is waterproofed by a continuous sheet, and its integrity is the sheet's integrity. There are two ways to put an array on one.

Ballasted. The racking is not fastened to anything. It is weighted with blocks so that mass and friction resist wind uplift and sliding. Nothing penetrates the membrane, which is the whole point — the waterproofing is never interrupted, so it cannot leak at a mount, because there is no mount. What it costs is weight, distributed across a structure that has to be shown to carry it.

Mechanically attached. Where wind exposure makes ballast impractical, the racking is fastened through the membrane into the structure. Each penetration then needs a detail that restores the waterproofing — typically a flashed curb or a manufacturer-specific penetration accessory, heat-welded or adhered into the field sheet.

The second option carries a commercial consequence people miss until it bites. Membrane roofs are frequently covered by a manufacturer's system warranty, and those warranties usually require that anything penetrating the membrane be executed by an applicator the manufacturer has approved. A solar crew cutting a hole in a warranted single-ply roof can void the warranty on the entire roof, not merely on the area around the penetration. This is why low-slope solar work so often involves the roofing contractor as well as the solar contractor, with the roofer executing the penetrations and the solar crew building on top of them. Where two trades touch one roof, the boundary between them is exactly where liability for roof damage becomes contested, so it wants to be written down before either starts.

Drainage is the risk that does not appear on the quote

A pitched roof sheds water fast enough that an obstruction is a nuisance. A low-slope roof drains at a quarter-inch per foot toward a small number of drains or scuppers, and at that gradient an obstruction is a pond.

Ballast blocks, rails, cable trays and equipment pads all sit on the drainage plane. Placed without regard to where the water goes, they dam it. Standing water is a problem in its own right — it is a sustained load, it accelerates membrane degradation, it finds seams, and it freezes. It also tends to be discovered late, because nobody is on the roof to see it.

The array layout on a low-slope roof therefore has a constraint a pitched-roof layout does not: rows have to preserve the drainage path, and the design has to know where the drains are. That is a drawing question, settled before anyone is on the roof.

Tilt: more production, more wind, more engineering

Panels lying parallel to a near-level roof produce less than the same panels angled toward the sun, and they self-clean poorly, so soiling losses build up. The obvious fix is to tilt them, and tilted racking is standard on low-slope roofs.

The cost of tilt is aerodynamic. A tilted panel is a surface the wind can get under. Uplift and overturning forces rise sharply with tilt angle, which is why tilted low-slope arrays need more ballast, or mechanical attachment, or both. Tilt also forces row spacing: each row shades the one behind it at low sun angles, so rows move apart and the same roof holds fewer panels.

All of which lands in the same place. As what a structural letter covers sets out, elevated or tilted racking is among the conditions that commonly take a project off the prescriptive path and into an engineered one — and on a ballasted array the added dead load does the same thing independently. On a low-slope roof the two arrive together more often than not, so budget for the engineering rather than being surprised by it.

What does not change

Two things carry over unchanged, and it is worth being explicit because people assume a flat roof is a blank sheet.

Fire setbacks and access pathways still apply. The requirements are written for the fire service's work on a roof, and that work does not get easier because the roof is level. On a large unbroken low-slope roof, perimeter clearance and interior pathways are the whole layout constraint. Fire setbacks and roof access pathways covers how they are laid out; the usable roof area calculator shows what is left of a plane once they are subtracted.

The roof's remaining life still governs the sequence. An array on a membrane roof has to come off before that membrane can be replaced, exactly as it does on shingles. If the roof is near the end of its service life, the cheap order of operations is the roof first. Where a second layer is being contemplated instead, the recover rules in Section R908 decide whether that is even permitted.

The bottom line

A flat roof is not an obstacle to solar. It is a different job with a different trade boundary, and the decisions that matter are made on paper: which covering is actually up there, whether the array is ballasted or attached, where the water goes, how much tilt is worth its wind load, and who is contractually allowed to put a hole in the membrane.

Getting those settled at design is the difference between a low-slope array that is unremarkable and one that produces a warranty dispute between two contractors who each believe the other owns the penetration.

Frequently asked questions

Can you put solar panels on a flat roof?

Yes, and it is common on both membrane and standing-seam metal roofs. What changes is not whether it can be done but how. On a pitched shingle roof the array is fastened through the covering into a structural member with a flashed penetration. On a low-slope membrane roof the array is either ballasted — held down by weight rather than fasteners — or attached through the membrane with a detail that has to be executed and warranted by the roofing manufacturer's approved applicator rather than by the solar crew. A third factor is angle: panels laid flat lose production against the same panels tilted, so low-slope arrays are often tilted up, and that changes the wind loading.

What is considered a low-slope roof?

In code terms a low-slope roof is one whose slope is below the minimum for the conventional steep-slope coverings, which puts the practical dividing line at about 2 units vertical in 12 units horizontal. The International Residential Code does not define the homeowner's word flat at all — no roof is truly flat, because every roof has to drain. What the code does instead is set a minimum slope per covering in Section R905, and the effect of those minimums is that below roughly 2:12 the only permitted coverings are membrane systems, certain metal panel systems and roll roofing. So when a roof is described as flat, the useful question is which covering is on it.

What is the minimum roof slope for asphalt shingles?

Section R905.2.2 permits asphalt shingles only on slopes of 2 units vertical in 12 units horizontal — a 17-percent slope — or greater. There is a second threshold above that one: for slopes from 2:12 up to 4:12, a double layer of underlayment is required rather than a single layer. So a 3:12 shingle roof is permitted but is built differently from a 6:12 shingle roof. Jurisdictions amend Chapter 9 and adopt different editions, so confirm against the edition your building department has actually adopted rather than against a general figure.

Do solar panels on a flat roof have to be tilted?

No, and there is a genuine trade-off either way. Laid flat, panels lose output against the same panels tilted toward the sun, and they shed dirt and debris poorly, so soiling losses accumulate faster and the array needs cleaning it would not otherwise need. Tilted, the panels produce more but present a much larger surface to the wind, which increases uplift and overturning forces on a roof that was not designed for them. Tilt also spaces rows further apart to avoid one row shading the next, so a tilted array fits fewer panels in the same area. Which way the decision goes is a site calculation, not a preference.

Can solar panels be installed on a flat roof without drilling holes?

Often, yes — that is what a ballasted system is. Rather than fastening into the structure, the racking is weighted down with blocks so that friction and mass resist wind uplift and sliding. It avoids penetrating the membrane entirely, which is its main attraction on a roof whose waterproofing is a continuous sheet. The cost is weight. A ballasted array adds a meaningful dead load spread across the roof, and whether the structure can carry it is a structural question rather than an assumption. Ballast also does not suit every site: above certain wind exposures the mass required becomes impractical and mechanical attachment returns.

Does a low-slope solar array need a structural engineer?

More often than a comparable pitched-roof array, for two reasons that compound. The first is tilt: elevated racking increases wind uplift and overturning, and elevated or tilted racking is one of the conditions that commonly pushes a project off the prescriptive path and into an engineered one. The second is ballast: where the array resists wind by weight, that weight is a dead load the existing structure has to be shown to carry. Either alone is frequently enough for a jurisdiction to ask for a stamped letter, and on a low-slope roof the two usually arrive together.

Do fire setbacks and access pathways still apply on a flat roof?

Yes, and on low-slope roofs the requirements are generally stated differently rather than waived. Fire code provisions for roof access and smoke ventilation are written with the fire service's operations in mind, and those operations do not become unnecessary because the roof is flat — if anything a large unbroken low-slope roof is where perimeter clearance and interior pathways matter most. Treat the setback and pathway layout as an input to how many panels fit, decided at design, rather than as something to resolve at inspection.

Can you put a new membrane over an old one?

Sometimes, under the same roof recover rules that govern any other covering. Section R908.3 makes removal down to the deck the baseline, Section R908.3.1 sets out when a recover is permitted instead, and Section R908.3.1.1 rules a recover out where the existing roof is water soaked or deteriorated enough that it is no longer an adequate base, where the existing covering is slate, clay, cement or asbestos-cement tile, or where two or more applications are already in place. Recoating certain existing membrane and coating systems is treated separately and does not require a tear-off. On a roof carrying an array the sequencing question arrives first, because the panels come off either way.

Ready to close more deals and hand off the rest?

Seamless Home connects your organization to financing, discounted materials, vetted installers, and full project management, so you can focus on selling.

Get In Touch