Shingle Calculator

Roof Shingle Calculator

Estimate roofing squares, bundles, and total material costs.

Flat (0/12 to 2/12) Low Slope (3/12) Standard (4/12) Moderate (5/12) Moderate (6/12) Steep (8/12) Very Steep (10/12) Extra Steep (12/12)

Calculation Summary

Total Roof Area: 0 sq ft

Roofing Squares: 0

Bundles Needed: 0

Total Estimated Cost: $0.00

*Note: 1 Roofing Square = 100 Square Feet. Most asphalt shingle brands package 3 bundles per square.

How to Use the Shingle Calculator

Planning a roofing project requires precision to avoid over-ordering or running out of materials mid-job. This calculator helps you determine the exact number of asphalt shingle bundles required for your home's roof based on square footage, pitch, and waste factors.

Key Roofing Terms Explained

  • Roofing Square: In the construction industry, a "square" is a unit of area equal to 100 square feet. Shingles are typically sold by the square, but packaged in smaller bundles for easier transport.
  • Bundles: Most standard architectural or 3-tab shingles come with 3 bundles per square. However, some heavy-weight designer shingles might require 4 bundles per square.
  • Pitch Factor: A sloped roof has more surface area than a flat footprint. We use a multiplier (Pitch Factor) to account for the angle of the roof. For example, a 4/12 pitch adds roughly 5% to the flat surface area.
  • Waste Factor: Every roof has valleys, hips, and ridges that require cutting shingles. A standard gable roof usually requires a 10% waste factor, while complex roofs with many valleys may require 15-20%.

Example Calculation

If you have a simple gable roof measuring 30 feet long and 20 feet wide:

  1. Base Area: 30 x 20 = 600 sq ft.
  2. Pitch Adjustment: For a 6/12 pitch (1.12 factor), 600 x 1.12 = 672 sq ft.
  3. Waste Addition: Adding 10% waste (672 x 1.10) = 739.2 sq ft.
  4. Squares: 739.2 / 100 = 7.39 Squares.
  5. Bundles: 7.39 x 3 = 22.17. You would buy 23 bundles.

Pro Tips for Roofing Projects

Always remember to account for Starter Shingles and Hip & Ridge Shingles separately. While this calculator estimates the main field shingles, the perimeter and peaks often require specialized products or additional bundles specifically for capping. For most residential projects, adding one extra bundle for every 100 linear feet of ridge and rake is a safe rule of thumb.

function calculateShingles() { var length = parseFloat(document.getElementById('roofLength').value); var width = parseFloat(document.getElementById('roofWidth').value); var pitchFactor = parseFloat(document.getElementById('roofPitch').value); var waste = parseFloat(document.getElementById('wasteFactor').value); var costPerBundle = parseFloat(document.getElementById('costPerBundle').value); if (isNaN(length) || isNaN(width) || isNaN(waste) || length <= 0 || width <= 0) { alert("Please enter valid numbers for length and width."); return; } // Calculate base area var baseArea = length * width; // Apply pitch factor var adjustedArea = baseArea * pitchFactor; // Apply waste factor var totalAreaWithWaste = adjustedArea * (1 + (waste / 100)); // Calculate squares (1 square = 100 sq ft) var squares = totalAreaWithWaste / 100; // Calculate bundles (standard 3 bundles per square) var bundlesNeeded = Math.ceil(squares * 3); // Re-calculate squares based on actual bundles for precision var finalSquares = (bundlesNeeded / 3).toFixed(2); // Calculate total cost var totalCost = bundlesNeeded * costPerBundle; // Display Results document.getElementById('resTotalArea').innerHTML = Math.round(totalAreaWithWaste).toLocaleString(); document.getElementById('resSquares').innerHTML = finalSquares; document.getElementById('resBundles').innerHTML = bundlesNeeded; document.getElementById('resTotalCost').innerHTML = '$' + totalCost.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('shingleResults').style.display = 'block'; }

Leave a Comment