*A "Square" is equal to 100 square feet. Most bundle packs cover 33.3 sq ft (3 bundles per square).
Understanding Roof Calculations
Calculating the area of a roof is more complex than a standard floor plan because of the slope (pitch). This calculator accounts for the footprint of your home, the overhang of the eaves, and the multiplier required for the specific pitch of your roof.
What is a Roofing Square?
In the roofing industry, the standard unit of measurement is a "Square." One square equals 100 square feet of roof surface. Shingles are typically sold by the bundle, where three bundles usually equal one square.
How to Use This Calculator
House Footprint: Measure the exterior length and width of the building.
Pitch: This is the steepness. A "4/12" pitch means the roof rises 4 inches for every 12 inches of horizontal run.
Overhang: Most roofs extend past the walls. A common overhang is 1 to 2 feet (12-24 inches).
Waste Factor: Always include extra for cutting and mistakes. 10% is standard for simple gables, while 15-20% is recommended for complex roofs with many hips and valleys.
Example Calculation
Imagine a house that is 40ft by 30ft with a 1.5ft overhang and a 6/12 pitch:
Adjusted Length: 40 + 1.5 + 1.5 = 43 ft
Adjusted Width: 30 + 1.5 + 1.5 = 33 ft
Base Area: 43 x 33 = 1,419 sq ft
Pitch Multiplier (6/12): 1.118
Total Roof Area: 1,419 x 1.118 = 1,586.4 sq ft
Total Squares: 15.86 (approximately 16 squares)
function calculateRoofEstimates() {
var length = parseFloat(document.getElementById('roofLength').value);
var width = parseFloat(document.getElementById('roofWidth').value);
var pitchMultiplier = parseFloat(document.getElementById('roofPitch').value);
var overhang = parseFloat(document.getElementById('roofOverhang').value);
var waste = parseFloat(document.getElementById('roofWaste').value);
var costPerSquare = parseFloat(document.getElementById('costPerSquare').value);
if (isNaN(length) || isNaN(width) || isNaN(overhang) || isNaN(waste)) {
alert("Please enter valid numbers for all fields.");
return;
}
// 1. Calculate the adjusted footprint including overhangs on both sides
var totalLength = length + (overhang * 2);
var totalWidth = width + (overhang * 2);
var baseArea = totalLength * totalWidth;
// 2. Apply the pitch multiplier to get actual surface area
var surfaceArea = baseArea * pitchMultiplier;
// 3. Add the waste factor
var totalAreaWithWaste = surfaceArea * (1 + (waste / 100));
// 4. Convert to Squares (100 sq ft = 1 square)
var squares = totalAreaWithWaste / 100;
// 5. Bundles (Assume 3 bundles per square)
var bundles = Math.ceil(squares * 3);
// 6. Cost Calculation
var totalCost = squares * costPerSquare;
// Display Results
document.getElementById('resTotalArea').innerText = Math.round(totalAreaWithWaste).toLocaleString();
document.getElementById('resSquares').innerText = squares.toFixed(2);
document.getElementById('resBundles').innerText = bundles;
document.getElementById('resCost').innerText = totalCost.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('roofResults').style.display = 'block';
}