happytails.ai

Roof shingle calculator

Open Roof shingle calculator on Happytails.ai. This view has the same page content and links, with explicit tool capabilities. Read the processing notes before using a tool.

Tool capabilities

{
  "id": "roof-shingle-calculator",
  "category": "calculators",
  "built": true,
  "requirements": "Roof and plan areas up to 1,000,000 m² (about 10.76 million ft²), waste from 0 to 50%, 1 to 10 bundles per square, edge lengths from 0 to 10 km and coverage per starter or cap bundle up to 1,000 m, up to 1 billion bundles. Pitch from 0 to 48 per 12, 0 to 75 degrees or 0 to 400%. Calculated on your device; download a JSON report and a results CSV.",
  "implementation": {
    "fields": [
      {
        "key": "areaSource",
        "label": "Roof area from",
        "value": "Sloped roof area",
        "type": "select",
        "values": [
          "Sloped roof area",
          "Plan area and pitch"
        ]
      },
      {
        "key": "areaUnit",
        "label": "Area unit",
        "value": "ft²",
        "type": "select",
        "values": [
          "ft²",
          "m²",
          "yd²"
        ]
      },
      {
        "key": "roofArea",
        "label": "Sloped roof area",
        "value": 2100,
        "type": "number",
        "min": 0,
        "step": "any",
        "help": "Total surface of all roof planes, measured along the slope.",
        "showWhen": {
          "areaSource": [
            "Sloped roof area"
          ]
        }
      },
      {
        "key": "planArea",
        "label": "Plan area including overhangs",
        "value": 1800,
        "type": "number",
        "min": 0,
        "step": "any",
        "help": "Roof footprint seen from above, with overhangs. Every plane must share the pitch below.",
        "showWhen": {
          "areaSource": [
            "Plan area and pitch"
          ]
        }
      },
      {
        "key": "pitchFormat",
        "label": "Pitch entered as",
        "value": "Rise per 12 run",
        "type": "select",
        "values": [
          "Rise per 12 run",
          "Angle in degrees",
          "Percent slope"
        ],
        "showWhen": {
          "areaSource": [
            "Plan area and pitch"
          ]
        }
      },
      {
        "key": "pitch12",
        "label": "Rise per 12 units of run",
        "value": 6,
        "type": "number",
        "min": 0,
        "max": 48,
        "step": "any",
        "help": "6 means 6 units of rise for every 12 units of level run, a 6/12 roof. From 0 to 48.",
        "showWhen": {
          "areaSource": [
            "Plan area and pitch"
          ],
          "pitchFormat": [
            "Rise per 12 run"
          ]
        }
      },
      {
        "key": "pitchAngle",
        "label": "Roof angle (degrees)",
        "value": 30,
        "type": "number",
        "min": 0,
        "max": 75,
        "step": "any",
        "help": "Angle of the roof surface above level, from 0 to 75 degrees.",
        "showWhen": {
          "areaSource": [
            "Plan area and pitch"
          ],
          "pitchFormat": [
            "Angle in degrees"
          ]
        }
      },
      {
        "key": "pitchPercent",
        "label": "Slope (%)",
        "value": 50,
        "type": "number",
        "min": 0,
        "max": 400,
        "step": "any",
        "help": "Rise divided by run times 100, from 0 to 400.",
        "showWhen": {
          "areaSource": [
            "Plan area and pitch"
          ],
          "pitchFormat": [
            "Percent slope"
          ]
        }
      },
      {
        "key": "waste",
        "label": "Waste allowance (%)",
        "value": 10,
        "type": "number",
        "min": 0,
        "max": 50,
        "step": "any",
        "help": "Extra for cutting at rakes, hips and valleys and for damaged shingles. Enter 0 for none."
      },
      {
        "key": "bundlesPerSquare",
        "label": "Bundles per square",
        "value": 3,
        "type": "number",
        "min": 1,
        "max": 10,
        "step": "any",
        "help": "From the shingle wrapper. Three bundles per 100 ft² is common for three-tab and many laminated shingles; heavier shingles need more."
      },
      {
        "key": "lengthUnit",
        "label": "Edge length unit",
        "value": "ft",
        "type": "select",
        "values": [
          "ft",
          "m",
          "yd",
          "in",
          "cm"
        ]
      },
      {
        "key": "eaveLength",
        "label": "Eave length for starter",
        "value": 100,
        "type": "number",
        "min": 0,
        "step": "any",
        "help": "Total length of all eaves. Enter 0 to skip starter."
      },
      {
        "key": "rakeLength",
        "label": "Rake length for starter",
        "value": 0,
        "type": "number",
        "min": 0,
        "step": "any",
        "help": "Total rake length, only if your shingle maker calls for starter along the rakes. Enter 0 to skip."
      },
      {
        "key": "starterCoverage",
        "label": "Starter coverage per bundle",
        "value": 100,
        "type": "number",
        "min": 0,
        "step": "any",
        "help": "Linear coverage printed on the starter wrapper."
      },
      {
        "key": "ridgeLength",
        "label": "Ridge length",
        "value": 40,
        "type": "number",
        "min": 0,
        "step": "any",
        "help": "Total ridge length to cap. Enter 0 for none."
      },
      {
        "key": "hipLength",
        "label": "Hip length",
        "value": 0,
        "type": "number",
        "min": 0,
        "step": "any",
        "help": "Total length of all hips to cap. Enter 0 for none."
      },
      {
        "key": "capCoverage",
        "label": "Ridge cap coverage per bundle",
        "value": 35,
        "type": "number",
        "min": 0,
        "step": "any",
        "help": "Linear coverage printed on the cap wrapper. About 35 ft is common."
      }
    ],
    "registrationFamily": "roof-and-cladding",
    "input": false,
    "live": true,
    "presentation": "metrics",
    "note": "Calculated on your device for roofs up to 1,000,000 m², waste up to 50% and edge lengths up to 10 km. Bundle coverage comes from your shingle wrapper.",
    "experience": {
      "automatic": true,
      "single": true,
      "inputMaxLength": 1000000,
      "inputMode": "text",
      "label": "Roof and edge measurements",
      "placeholder": "Use the fields below",
      "help": "This calculator uses the measurement fields only. Results update as you type. Up to 1,000,000 characters.",
      "helpParts": [
        "This calculator uses the measurement fields only.",
        "Results update as you type.",
        "Up to 1,000,000 characters."
      ],
      "action": null
    },
    "mode": "automatic",
    "interactive": false
  },
  "execution": "Browser interface",
  "api": null,
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}

Page guide

Estimate shingle bundles from your roof area, waste allowance and bundles per square, plus starter and ridge cap bundles from eave, rake, ridge and hip lengths.

How to use Roof shingle calculator
  1. Enter the sloped roof area, or the plan area with the pitch.
  2. Set the waste allowance and the bundles per square printed on the shingle wrapper.
  3. Enter eave, rake, ridge and hip lengths with the starter and cap coverage per bundle.
  4. Review squares and bundles, then download the JSON report or the CSV.

Useful next steps

Squares and bundles

A square is 100 ft² of roof. Three bundles per square is most common for three-tab and many laminated shingles, and heavier shingles need four or five (Fine Homebuilding, Mike Guertin, How to Estimate Materials for Roofing Projects, checked 16 October 2026). The calculator adds your waste allowance, converts to squares and rounds bundles up: 2,100 ft² plus 10% is 23.1 squares, or 70 bundles at three per square.

Starter and ridge cap

Starter runs along the eaves, and along the rakes only when your shingle maker calls for it. Hip and ridge cap is taken from the ridge and hip lengths; the same article puts a typical cap bundle at about 35 linear feet. Enter the coverage printed on your wrappers, because both vary by product.

Plan area and pitch

If you only know the footprint, choose plan area and pitch. The sloped area is the plan area × √(1 + (rise ÷ run)²) (OpenStax Precalculus 2e, 5.4, checked 16 October 2026), which assumes every plane has the same pitch. Use the roof area calculator for mixed pitches.

What is not included

Valley extras, underlayment, drip edge, flashing and nails are separate items. The tool does not check minimum slopes, wind ratings or local roofing rules. A square is 100 ft² (Wikipedia, Square (unit), checked 16 October 2026); conversions use NIST SP 811.