ForHosting KIT · Home, food & hobbies

Roofing shingles calculator

A 2,000 sq ft roof plan with a 1.118 pitch factor has 2,236 sq ft of real surface, which means 23 squares and 68 bundles at 33.3 sq ft per bundle. Both counts round up to whole units. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Roof plan
2,000
Pitch factor
1.118
Bundle coverage
33.333
You get
Surface area
2,236
Square area
100
Squares exact
22.36
Squares needed
23

Ordering asphalt shingles by eye is how jobs end short of ridge cap or with three leftover pallets in the driveway. This roofing shingles calculator turns three practical numbers into a clear material list: the roof plan area, a pitch factor that inflates plan area to true surface area on a sloped roof, and how many square units one bundle covers according to the product you buy. It multiplies area by pitch, divides by one hundred to report industry squares, divides by bundle coverage to report an exact bundle count, then ceilings both purchase quantities so you never order a fractional bundle. Keep roof area and bundle coverage in one unit system—typically square feet for US roofing squares—and treat the pitch factor as the multiplier from a standard pitch table or a field measurement, not as a free-form percentage.

From roof plan to shopping list in three steps

The plan area is what you measure from above, but shingles cover the sloped surface, which is always larger. The calculator first multiplies the plan area by the pitch factor: about 1.054 for a 4-in-12 roof, 1.118 for 6-in-12 and 1.202 for 8-in-12. It then divides that surface by 100 to give roofing squares, the unit roofers quote in, and divides it by the coverage of one bundle to give the bundle count. Both results are rounded up, because no supplier sells part of a bundle.

Mistakes that leave you short or overstocked

The most common error is treating the pitch factor as a percentage you make up; take it from a pitch table or from the measured rise over run. The second is mixing units: if the roof is in square feet, the bundle coverage must be in square feet too, or the count will be far off. A roofing square only means 100 square feet when you work in feet. Finally, ordering by eye tends to end with nothing left for the ridge cap or with pallets left over in the driveway, so let the numbers decide.

DIY re-roof shopping list

Measure the plan area, look up the pitch factor for your rise over run, enter the product’s bundle coverage, and buy whole bundles without shortfall or bulk overstock.

Contractor roof takeoffs

Feed each roof’s plan area, pitch factor, and SKU coverage into the same formula so purchase orders match the estimate and every ceil step is auditable.

What happens if roof area is zero or negative?

Roof area must be strictly positive; non-positive area is non-physical and would not define a valid purchase quantity.

What is a roofing square?

In US practice one square is 100 square feet of roof surface. Keep area and bundle coverage in the same unit system.

Where does the pitch factor come from?

Use a standard pitch multiplier table for your rise over run (for example ~1.118 for 6/12) or a factor measured from the job. A value of 1.0 means no slope inflation.

What does it cost?

The browser tool is free and runs locally.

How many bundles of shingles make one square?

Three, for a classic three-tab asphalt shingle that covers about 33.3 sq ft per bundle. Other products cover different areas, so enter the coverage given for the shingle you are buying and the bundle count follows.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/home/roof-shingles

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/home/roof-shingles \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"roof_area":2000,"pitch_factor":1.118,"bundle_coverage":33.333}'
{
  "roof_area": 2000,
  "pitch_factor": 1.118,
  "bundle_coverage": 33.333
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "home.roof_shingles",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

The same pure function powers the free browser tool and the paid API, so a quote you generate on a phone matches the line item a script posts later. Non-positive roof area is rejected with a clear invalid_input message instead of a silent nonsense result.

How the bundles and squares formula works

Start from the coverage identity used on every retail and contractor roofing estimator: the surface you must cover is the plan footprint times a pitch factor that accounts for slope. A pitch factor of one means a flat or nearly flat deck; common residential pitches map to multipliers such as about one point zero five four for four-twelve, one point one one eight for six-twelve, and one point two zero two for eight-twelve—look up the table that matches your rise over run rather than inventing a percentage. Pitch factor and bundle coverage must also be strictly positive so the surface and the per-bundle ratio stay defined. Write surface_area equals roof_area times pitch_factor, using the same square unit for roof_area and for the manufacturer’s bundle coverage so feet pair with square feet. Industry practice defines one roofing square as one hundred square feet of roof surface when you work in square feet, so squares_exact equals surface_area divided by one hundred. Bundle demand is surface_area divided by bundle_coverage: a classic three-tab asphalt product often covers about thirty-three point three square feet per bundle, which is three bundles per square. Purchase quantity bundles_needed is the ceiling of that exact ratio, and squares_needed is the ceiling of squares_exact, because suppliers sell whole bundles and estimators usually round squares up for ordering. The response also echoes intermediates (surface_area, squares_exact, bundles_exact), coverage_from_bundles, and spare_area so you can audit the math against a hand calculation on the packing slip. The pipeline is deterministic floating-point arithmetic with no random seeds, no wall-clock timestamps, and no network calls, so identical inputs always produce identical JSON. Roof area must be strictly positive: zero or negative area is rejected with invalid_input because a non-positive footprint is non-physical and would not define a purchase quantity.

What you send and what you get back

All three fields are required. Send three finite numbers: roof_area for the plan or measured coverage in square units, pitch_factor as the slope multiplier that converts plan area into actual roof surface, and bundle_coverage as the area one shingle bundle covers in the same square units. Missing fields, non-numeric strings, NaN, and Infinity fail with invalid_input and are not charged. When roof_area is zero or negative the request fails with a message that non-positive area is not allowed, so clients can correct measurements before retrying instead of receiving zero or nonsense bundles. The same positivity rule applies to pitch_factor and bundle_coverage. On success the response echoes cleaned inputs, surface_area, square_area (always one hundred), squares_exact, integer squares_needed, bundles_exact, integer bundles_needed, coverage_from_bundles from the ceiled pack count, spare_area relative to the pitched surface, a unit_note reminder to keep one unit system and that one square equals one hundred area units, and a short formula string for documentation. Classic checks include a two thousand square-foot plan with a six-twelve pitch factor of one point one one eight and thirty-three point three three three square feet per bundle: surface area is about two thousand two hundred thirty-six, squares_exact is about twenty-two point three six, squares_needed is twenty-three, bundles_exact is about sixty-seven point zero eight, and bundles_needed is sixty-eight. Pricing for successful API calls is the published base of $0.002 per item; validation failures do not consume prepaid balance.

Where roofing shingle calculators show up in real work

Homeowners replacing a worn three-tab or architectural roof need a trustworthy bundle count before ordering online or booking a dumpster, especially when architectural laminates have a high unit price and long lead times. If you later need hip and valley waste tables, starter-strip linear feet, ridge-cap bundles, underlayment roll lengths, or drip-edge lineal feet, treat those as separate search intents and landings rather than overloading this roofing shingles bundles and squares calculator page. Roofing contractors build takeoffs from measured plan areas and manufacturer coverage; a single deterministic endpoint that ceilings both squares and bundles reduces spreadsheet drift between the estimator and the purchasing clerk. Building-supply counters comparing two SKUs for the same house can swap only bundle_coverage while holding roof_area and pitch_factor fixed, then rank total bundles and spare coverage without re-deriving the pitch math each time. Property managers planning multi-building re-roofs feed a batch of plan areas and pitch factors through the API and attach bundles_needed to purchase orders so overstock stays intentional rather than accidental. Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance.

SKU comparison at the counter

Hold roof area and pitch fixed, swap bundle coverage across candidate shingle products, and compare bundles_needed and spare surface coverage side by side.

How does this roofing shingles calculator work?

It multiplies roof_area by pitch_factor for surface area, divides by 100 for industry squares, divides by bundle_coverage for an exact bundle count, then ceilings squares and bundles so you order whole packages only.

Read the full KIT documentation →