# Wind Uplift on Roofs: The Tension Path Explained

> Roofs live in suction, worst at edges: net uplift is factored suction minus reduced dead weight, and light roofs turn design into tension-path work.

**Category:** Codes & standards  
**Author:** Elena Marchetti (Structural engineer · Founder)  
**Published:** 2026-08-04

---
Wind uplift is the load case where your roof tries to leave, and the arithmetic that decides whether it can is brutally simple: net uplift equals wind suction minus dead weight, factored the way your code demands. Roofs feel suction because wind accelerating over the building drops in pressure and separates at edges, so the surfaces gravity engineers think of as loaded downward spend storms being pulled upward, hardest at eaves, ridges, corners, and rakes. Light roofs, metal decks, timber trusses, membrane-on-insulation, are the vulnerable ones, precisely because the dead load that resists uplift is small, and the design response is a continuous tension path: every layer held down to the one below it, cladding to purlin to rafter to wall to foundation, with connections that work in the direction gravity never asked them to. The takedown's role is the resisting side: the honest dead weight, at reduced factors, that the suction must overcome, which is where StructLoads gives you numbers you can defend rather than allowances you hope for.

## Why roofs get sucked, not pressed

The physics is flow, not impact. Wind approaching a building cannot pass through it, so streamlines compress and accelerate over the roof, and faster-moving air carries lower pressure, the same trade aircraft wings exploit; add flow separation at sharp edges, where the wind cannot follow the geometry and peels off into turbulent vortices, and the roof sits under a blanket of reduced pressure while the building's interior remains near ambient or, with a windward opening, above it. The pressure difference across the roof skin acts outward, and the [standard treatment of wind loads](https://en.wikipedia.org/wiki/Wind_load) captures it as negative external pressure coefficients on roof zones combined with internal pressure.

Geometry sets the pattern. Flat and low-slope roofs see suction nearly everywhere; gable roofs see the windward slope's behavior flip with pitch (steep slopes can take positive pressure while shallow ones stay in suction); and everywhere, the field intensifies at discontinuities: perimeter strips, corners, ridge lines, and rake edges, where the separated flow's vortices concentrate. Codes formalize this as zones, an interior zone with moderate suction and edge and corner zones where local design pressures can be several times the field value, which is why fastener schedules tighten at the perimeter and why the roof's [components-and-cladding pressures](/blogs/wind-load-calculation-basics/) exceed the main-system values that size the frame.

Internal pressure is the multiplier worth respecting: a dominant windward opening, a failed roller door is the textbook case, pressurizes the interior and adds inside-pushing-up to outside-pulling-up. That single mechanism converts a survivable storm into a roof loss on otherwise identical buildings, and it is controlled by classification and detailing rather than heavier structure.

## The net uplift arithmetic, done honestly

The check that governs is disarmingly short: factored net uplift per unit area equals factored suction minus factored dead load, and the dead load enters at a reduced factor, 0.9D in strength design, 0.6D in the allowable-stress wind combinations, precisely because overestimating resistance is unconservative here, the logic embedded in [the load combinations](/blogs/asce-7-load-combinations-explained/). Two disciplines keep the resisting side honest. Count only weight that is genuinely attached to the element being checked: a loose-laid paver sits on the membrane, so it helps hold the membrane down, but it does nothing for the purlin-to-rafter connection unless the load path actually delivers its weight there. And count only weight that is reliably present: finishes that a re-roof might remove, equipment that might be relocated, anything the drawings do not guarantee, deserves exclusion from the resistance even though it appears in the gravity maximum case.

| Roof element | Typical dead weight | Uplift vulnerability |
| --- | --- | --- |
| Membrane on metal deck | 0.15 to 0.4 kPa | High: fastener pull-out and deck side governs |
| Timber trussed roof, tiles | 0.7 to 1.1 kPa | Moderate: tiles heavy, but truss anchorage decides |
| Timber roof, lightweight sheet | 0.2 to 0.4 kPa | High: whole assembly can go without straps |
| Concrete flat roof | 3 to 6 kPa | Low: mass usually wins, check edges |
| Ballasted membrane | Ballast-dependent | Ballast sized against zone suction, scour matters |

The table's message is the vulnerability gradient: concrete roofs mostly argue about edge details, while light roofs argue about existence. On a light roof, the suction in edge zones routinely exceeds the entire dead weight several times over, so the design is not "check it holds" but "provide the tension path that holds it," which moves the problem from member sizing to connection design.

## The tension path: gravity's load path, reversed

The uplift path is your gravity path run backwards, with every handoff reversed into tension. Cladding or membrane to its fasteners: pull-out from the deck, pull-through of the head. Deck or battens to purlins: fastener withdrawal. Purlins to rafters or trusses: cleats and bolts now in tension. Trusses to wall plate: the classic strap or clip, the detail whose absence explains most lost roofs in wind events. Wall plate to wall, wall to foundation: a continuous chain, because a single missing link releases everything above it. Walking this chain deliberately, the same discipline as [walking the gravity load path](/blogs/gravity-load-path-slab-to-foundation/), is the design act; members are rarely the problem, connections are the product.

Anchorage at the bottom of the chain deserves its own honesty: the foundation resists uplift with weight the takedown must actually deliver to that wall or column line. A strap into a slab edge that itself weighs little, or a wall whose tributary dead load was optimistic, moves the failure down a level rather than removing it. This is where per-element takedown numbers matter operationally: the uplift check on each truss seat, each wall line, each holding-down bolt group wants the local resisting dead load, not a building average, and a model like StructLoads that knows [what each wall line carries](/blogs/how-to-calculate-wall-line-load/) supplies exactly that resolution.

Ballasted and green systems solve uplift with distributed mass, gravel, pavers, saturated soil, sized against the zone suctions, with edge and corner zones demanding more or different treatment, and with scour (wind rearranging the ballast) as the failure mode to detail against. The same mass, note, reappears in the seismic weight and the gravity design, the whole-building trade covered from the mass side in [green roof loads](/blogs/green-roof-loads-explained/).

A worked check makes the arithmetic tangible. A lightweight timber roof carries 0.35 kPa of dead weight, sheet, battens, rafters, insulation, and its corner zone sees a design suction of 1.8 kPa with internal pressure included, round numbers for illustration; your zone values come from the code. Net factored uplift on the corner: 1.0 x 1.8 minus 0.6 x 0.35, about 1.59 kPa acting upward, more than four times the roof's entire weight. A rafter at 600 mm centres over a 4 m corner-zone strip collects roughly 3.8 kN of net uplift at its wall seat, which is now the tension demand on the strap connecting it to the plate, and the plate's anchors inherit the accumulated pull of every rafter they hold. Nothing in the members is remotely challenged; everything in the check is fasteners and straps, and the resisting 0.6D at each link is only as true as the dead load the takedown assigned to that spot. Change the roof to a 150 mm concrete slab at 3.6 kPa and the same corner shows net compression under the identical suction: mass solved what straps otherwise must.

## Where uplift checks go wrong in practice

Five recurring failures cover most trouble. Using field-zone suction everywhere: the edge and corner zones are the design case for fasteners and light framing, and averaging them away is unconservative exactly where roofs actually fail. Full dead load as resistance: forgetting the 0.9/0.6 reduction, or counting removable weight, flatters the check by the margin the code deliberately removed. Breaking the chain silently: a beautifully strapped truss on a wall plate nailed lightly to a wall achieves the capacity of the nails. Ignoring internal pressure classification: an "enclosed" assumption on a building with a big operable door understates the acting suction. And treating uplift as someone else's chapter: on light roofs, uplift, not gravity, often selects the connections and sometimes the members, so it belongs in the same design pass as the takedown, not appended after.

The review habit that catches all five is the reversed-path walkthrough: start at a corner fastener and narrate the tension chain to the foundation, naming the detail and the resisting weight at each link, with the takedown open for the numbers. It is the uplift twin of [checking a load takedown](/blogs/how-to-check-a-load-takedown/), and it takes minutes per roof once the model is in front of you.

## Key takeaways: wind uplift on roofs

Roofs live in suction, worst at edges and corners, and the governing arithmetic is factored suction minus reduced factored dead weight, per element, with only attached, reliably-present mass allowed to resist. Light roofs turn the problem into tension-path design: a continuous chain of connections from cladding to foundation, each working in the direction gravity never tested, with the chain's weakest link setting the roof's fate. Keep the resisting side honest with a per-element takedown, StructLoads' wall-line and support-level dead loads are the right resolution, respect the zone map, and classify internal pressure truthfully, because the failed door is the storm's favorite accomplice.

## Quick answers

### What is wind uplift on a roof?

Net upward load on the roof from wind: air accelerating over the building and separating at edges lowers the pressure above the roof while internal pressure pushes from below, producing suction that peaks at eaves, ridges, corners, and rakes. The design check is factored suction minus reduced factored dead weight, per element, and on light roofs the suction in edge zones can exceed the entire dead load several times over, which turns design into providing a continuous tension path rather than merely checking members.

### Why does dead load use a reduced factor in uplift checks?

Because dead load is the resistance, and overestimating resistance is unconservative: strength combinations use 0.9D and allowable-stress wind cases use 0.6D so that a plausible shortfall in actual dead weight, lighter finishes, removed layers, optimistic allowances, does not erase the safety margin. The same logic argues for counting only weight genuinely attached to the element being checked and reliably present over the building's life, which is a takedown-level discipline, not a factor you apply at the end.

### What holds a roof down in high wind?

A continuous tension chain: cladding fastened against pull-out and pull-through, deck and battens to purlins, purlins to rafters or trusses, trusses strapped to wall plates, plates anchored to walls, walls to foundations that carry enough delivered dead weight to resist. Every link works in tension, the direction gravity details never exercised, and one missing link releases everything above it. On ballasted and green roofs, distributed mass sized against zone suctions does the holding, with scour detailed against at edges.

### When is wind uplift not the governing case for a roof?

On heavy roofs, concrete slabs at several kPa of self-weight generally out-muscle field-zone suctions, leaving edge details, parapets, and rooftop additions as the residual checks, and in low-wind regions where gravity combinations dominate throughout. Even there, components and cladding at corners deserve the zone pressures, and any lightweight element on the heavy roof, rooflights, flashings, equipment screens, runs its own uplift check, because the roof surviving does not save the pieces bolted to it.

### Does StructLoads check wind uplift?

StructLoads supplies the resisting half at the resolution uplift checks need: per-element, per-wall-line, per-support dead loads that are traceable to real components, so the 0.9D or 0.6D in each anchorage and connection check is a defensible number rather than a building average. The suction side comes from your wind code's zone pressures. Pairing the two, code suctions against takedown-grade resistance, is the honest workflow, and it is exactly where averaged or optimistic dead loads get exposed.

## Sources

- [Wikipedia: Wind load](https://en.wikipedia.org/wiki/Wind_load)
- [Wikipedia: Wind engineering](https://en.wikipedia.org/wiki/Wind_engineering)
- [Wikipedia: Structural load](https://en.wikipedia.org/wiki/Structural_load)