Roof Shingle Bundle Calculator

Roof area, shingle bundles, and squares in ft or meters.

Home and DIYUpdated 2026-10-142 min read
Roof Shingle Bundle Calculator
Roof area
...
Bundles to buy...
Roof squares...

What it does

Shingle packs sell by coverage, while roofs measure by sloped area, so the bridge math is area times waste divided by pack coverage. This page runs that bridge in both imperial and metric, rounding bundles up since half packs do not cover ridges.

The default shows a 40 by 30 ft footprint with a gentle slope factor of 1.1. Flat math gives 1,200 sq ft, slope lifts it to 1,320 ft2, waste lifts need to 1,452 sq ft, and coverage turns that into 44 bundles or 13.2 squares. Metric defaults convert the same roof to 12.19 by 9.14 m and land on the same 44 bundles.

Slope factor is the only judgment call. Low slopes sit near 1.1, mid pitches near 1.2, and steep roofs climb past 1.3. When in doubt, measure rise over run and look up the factor rather than guessing.

Waste is not padding for mistakes. Hips, valleys, rakes, starter courses, and ridge caps all consume full shingles for partial cover, which is why 10% is a floor for simple gables and complex roofs need more.

How to use

  1. Pick imperial or metric first.
  2. Enter roof length and width in the active units.
  3. Enter the slope factor for your pitch.
  4. Enter waste percent and bundle coverage.
  5. Read area first, then bundles (rounded up) and squares.

Formula

Area = length x width x slope. Need = area x (1 + waste/100). Bundles = ceil(need / coverage). Squares = area / 100.
length x width
Roof footprint sides, in ft or m by mode.
slope
Multiplier for pitch, 1.0 flat to about 1.4 steep.
waste
Extra percent for cuts and valleys.
coverage
Sq ft covered by one bundle, often 33.33.

Slope factor adjusts flat footprint to sloped surface. Waste covers cuts, hips, valleys, and starter rows. Coverage per bundle is 33.33 sq ft for standard 3 bundle squares; some lines differ, so read the pack.

Worked example

Example: 40 by 30 ft roof

40 ft by 30 ft roof, slope factor 1.1, waste 10%, 33.33 sq ft per bundle.

  1. Base: 40 x 30 = 1,200 sq ft.
  2. With slope: 1,200 x 1.1 = 1,320 ft2.
  3. With 10% waste: 1,320 x 1.1 = 1,452 sq ft of shingles.
  4. Bundles: 1,452 / 33.33 = 43.56, round up to 44 bundles.
  5. Squares: 1,320 / 100 = 13.2 squares.
  6. Tool shows 1,320 ft2, 44 bundles, 13.2 squares.

Reference table

Slope factor guide by pitch
Rise in 12FactorNote
4 in 121.05Low slope
6 in 121.12Common gable
8 in 121.20Clearly steep
10 in 121.30High, plan waste up
12 in 121.4145 degrees

Limits

  • One rectangle only. L shapes need separate passes.
  • Slope factor is an input, not measured by the tool.
  • Ignores ridge caps, starter, and flashing counts.
  • Coverage varies by product. Read the pack.

Common mistakes

  • Using footprint without slope.
  • Forgetting waste on hips and valleys.
  • Rounding bundles down instead of up.
  • Mixing bundle coverage across product lines.
  • Measuring only one slope on a two slope roof.

Try it yourself

Quick checks. Answers sit tucked under each question.

20 by 40 ft, slope 1.0, waste 10%?

Area 800 ft2, need 880, bundles 27 (880 / 33.33 = 26.4, up to 27).

40 by 50 ft, slope 1.0, waste 10%?

Area 2,000 ft2, squares 20, need 2,200, bundles 67 (2,200 / 33.33 = 66.01, up to 67).

Questions

How do I get roof area?

Multiply length by width by slope factor. Here 40 by 30 with 1.1 is 1,320 ft2.

How many bundles per square?

Three bundles cover one square (100 sq ft). A bundle here covers 33.33 sq ft.

How many bundles do I need?

44 bundles for the example (1,452 sq ft of shingles divided by 33.33). Always round up.

What is a roofing square?

Area divided by 100. Here 13.2 squares.

What slope factor should I use?

Steeper roofs use larger factors, often 1.1 to 1.4. Measure or use a pitch table.

Does it work in metric?

Yes. Switch to metric and enter meters. The bundle math stays in sq ft behind the scenes.

Sources

How this page was checked. The formula above was matched against the cited sources, and the worked example was run through the tool on this page before publishing. If you spot an error, contact us so we can fix it and note the correction.