{
  "slug": "roofing",
  "title": "Roofing Calculator",
  "heading": "Roofing Calculator",
  "category": "other",
  "url": "https://www.revenuelab.fyi/toolbox/roofing",
  "summary": "Squares of shingles, underlayment, and material cost.",
  "description": "Roofers work in squares — 100 square feet each. Pitch matters: a 6/12 roof has about 12% more surface than its footprint, and a 12/12 has 41% more.",
  "formula": "Roof area = Footprint × Pitch multiplier. Squares = Area ÷ 100, plus waste.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=roofing",
  "inputs": [
    {
      "id": "length",
      "label": "Building length",
      "kind": "number",
      "hint": null,
      "default": 40,
      "unit": "ft",
      "min": 0,
      "max": null
    },
    {
      "id": "width",
      "label": "Building width",
      "kind": "number",
      "hint": null,
      "default": 28,
      "unit": "ft",
      "min": 0,
      "max": null
    },
    {
      "id": "pitch",
      "label": "Pitch (rise per 12)",
      "kind": "number",
      "hint": null,
      "default": 6,
      "unit": null,
      "min": 0,
      "max": 18
    },
    {
      "id": "price",
      "label": "Shingles per square",
      "kind": "number",
      "hint": null,
      "default": 130,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "labor",
      "label": "Labour per square",
      "kind": "number",
      "hint": null,
      "default": 200,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "waste",
      "label": "Waste allowance",
      "kind": "number",
      "hint": "Cuts, breakage, and mistakes. 10% is standard.",
      "default": 10,
      "unit": "%",
      "min": 0,
      "max": 40
    }
  ],
  "outputs": [
    {
      "id": "squares",
      "label": "Roofing squares",
      "format": "decimal",
      "hint": null,
      "primary": true
    },
    {
      "id": "bundles",
      "label": "Shingle bundles",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "area",
      "label": "Roof surface area (sq ft)",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "material",
      "label": "Material cost",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "labor",
      "label": "Labour cost",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "total",
      "label": "Total project cost",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Building length: 40 ft",
      "Building width: 28 ft",
      "Pitch (rise per 12): 6",
      "Shingles per square: 130 $",
      "Labour per square: 200 $",
      "Waste allowance: 10 %"
    ],
    "outputs": [
      "Roofing squares: 13.8",
      "Shingle bundles: 42",
      "Roof surface area (sq ft): 1,252.2",
      "Material cost: $1,790.64",
      "Labour cost: $2,754.84",
      "Total project cost: $4,545.48"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter building length (ft).",
      "Enter building width (ft).",
      "Enter pitch (rise per 12).",
      "Enter shingles per square ($).",
      "Enter labour per square ($).",
      "Enter waste allowance (%) — Cuts, breakage, and mistakes. 10% is standard..",
      "Read your roofing squares on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "length": 24,
        "width": 17,
        "pitch": 4,
        "price": 80,
        "labor": 120,
        "waste": 6
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "length": 40,
        "width": 28,
        "pitch": 6,
        "price": 130,
        "labor": 200,
        "waste": 10
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "length": 64,
        "width": 45,
        "pitch": 10,
        "price": 210,
        "labor": 320,
        "waste": 16
      }
    }
  ],
  "limitations": [
    "Estimates assume standard, average conditions — local rules, pricing, and materials vary.",
    "Results are rounded for readability; add a buffer before ordering, booking, or committing.",
    "Double-check anything with a real cost attached against a local quote."
  ],
  "faq": [
    {
      "q": "How does the roofing calculator work?",
      "a": "Roofers work in squares — 100 square feet each. Pitch matters: a 6/12 roof has about 12% more surface than its footprint, and a 12/12 has 41% more. The underlying maths is: Roof area = Footprint × Pitch multiplier. Squares = Area ÷ 100, plus waste."
    },
    {
      "q": "What do I need to enter?",
      "a": "6 values: building length, building width, pitch (rise per 12), shingles per square, labour per square, and waste allowance. Each field starts with a sensible default, so you can change one number at a time and watch the result move."
    },
    {
      "q": "What does the roofing squares result mean?",
      "a": "It is returned as a decimal number and updates live as you edit the inputs, so you can compare two or three versions of a scenario in a few seconds."
    },
    {
      "q": "Is this calculator free, and do I need an account?",
      "a": "Yes, it's free, and no account is required. Nothing you type is stored on our servers — the maths runs entirely in your browser."
    },
    {
      "q": "How accurate is the result?",
      "a": "It applies the standard formula exactly, so the arithmetic is precise. Estimates assume standard, average conditions — local rules, pricing, and materials vary."
    },
    {
      "q": "Who is this tool for?",
      "a": "It's built for anyone doing everyday planning maths — a quick estimate that would otherwise need four browser tabs and a calculator app."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/gutter",
    "https://www.revenuelab.fyi/toolbox/siding",
    "https://www.revenuelab.fyi/toolbox/square-footage"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Roofing Calculator (https://www.revenuelab.fyi/toolbox/roofing)"
}