Roofing Calculator
Work out the roof area, roofing squares and shingle bundles for a house from its footprint and roof pitch, with a waste allowance built in.
A roof with a 40 ft by 30 ft footprint and a 6/12 pitch has about 1,342 sq ft of surface, or 13.42 roofing squares. Add 15% for waste and that is 15.43 squares, or 47 bundles of shingles at 3 bundles per square. Multiply the footprint by the pitch factor, 1.118 for 6/12, then divide by 100 for squares.
This calculator gives a material estimate for planning and is not a substitute for a roofer's measurement or a supplier's takeoff. It assumes every roof plane shares one pitch, and it does not count underlayment, drip edge, starter strip or ridge cap bundles separately.
Shingle bundles to buy
47 bundles
- Roof area
- 1,342 sq ft
- Roofing squares (100 sq ft)
- 13.42
- Squares with waste
- 15.43
- Pitch factor
- 1.118
- Roof angle
- 26.6°
For a roof whose sides all share one pitch. Add dormers, valleys and steeper sections separately, and check the bundle count on the shingle wrapper.
Embed this calculator on your site →
About the Roofing Calculator
Roofing is measured in squares, 100 square feet of roof surface each, and asphalt shingles are usually figured at three bundles to a square, so each bundle covers about 33 sq ft. A sloped roof has more surface than the ground it covers. To find it, measure the footprint of the house from outside, overhangs included, and multiply by the pitch factor. The factor comes from the slope itself: the square root of 1 plus (pitch divided by 12) squared. A 6/12 roof gives 1.118, a 12/12 roof gives 1.414, and a flat roof gives 1. The same factor works for a hip roof as for a gable, as long as every side has the same pitch. A 40 by 30 ft footprint is 1,200 sq ft, and at 6/12 the roof is about 1,342 sq ft. The calculator adds a waste allowance, 15% by default, as a general cushion for cuts and trimming, then rounds the bundles up, since a store sells whole ones.
Frequently asked questions
How many bundles of shingles are in a square?+
Three is the usual figure, each bundle covering about 33 sq ft. Products differ, so read the coverage printed on the wrapper and change the bundles per square to match.
How do I find the pitch of my roof?+
Pitch is the rise in inches over 12 inches of run. Hold a level 12 in long flat against the underside of a rafter, then measure straight up from its far end to the rafter. If that gap is 6 in, the pitch is 6/12. The calculator also shows the angle, which is 26.6 degrees for 6/12.
How much waste should I allow?+
The reference used here suggests 15%. As a general rule, a roof with more cuts around hips, valleys and dormers wastes more than a plain one, so change the percent to suit your roof. The waste is added to the squares before the bundles are rounded up.
Do I measure the roof or the ground?+
Either works. Measuring the footprint from the ground and using the pitch factor saves a climb. If you measure a roof plane directly, enter its length and width with a pitch of 0, because the slope is already in the measurement, then add the planes together.
Squares, bundles and waste: This Old House, Roof Shingles Calculator: How To Find the Right Amount: one roofing square equals 100 square feet, three bundles for every square, and an extra 15% for wastage. The pitch factor, the square root of 1 plus (pitch divided by 12) squared, is the slope length per foot of run by the Pythagorean theorem and matches the article's multipliers of 1.031 for 3:12 and 1.250 for 9:12.
Embed this calculator
Free to use on your own site. Paste this snippet where you want the roofing calculator to appear — it resizes itself automatically.
<iframe
src="https://manytools.co/embed/roofing-calculator"
title="Roofing Calculator by ManyTools"
data-manytools="roofing-calculator"
width="100%"
height="640"
loading="lazy"
style="border:0;width:100%;max-width:720px"></iframe>
<script>
(function () {
window.addEventListener("message", function (e) {
if (e.origin !== "https://manytools.co") return;
var d = e.data || {};
if (d.type !== "manytools:embed:height" || d.slug !== "roofing-calculator") return;
var f = document.querySelector('iframe[data-manytools="roofing-calculator"]');
if (f && d.height) f.style.height = d.height + "px";
});
})();
</script><a href="https://manytools.co/math/roofing-calculator">Roofing Calculator by ManyTools</a>