Insulation Calculator
Measure the area to insulate, copy the coverage figure off your package label, and get whole packages with a cutting allowance applied before the round-up. R-value guidance stays where it belongs — in prose, not fake math.
Area and package coverage
Example: a 25 × 20 ft attic with bags labeled 58 sq ft at 5% waste → 10 bags.
Package counts only — R-value selection, vapor barriers, ventilation baffles, and code-required levels are for DOE guidance, your product's instructions, and your local code office.
One honest division
The worked attic: 25 × 20 ft = 500 sq ft ÷ 58 sq ft per bag (the figure from the label) = 8.62 bags. A 5% allowance for cutting around framing, boxes, and vents lifts it to 9.05, purchased as 10 bags with 55 sq ft of coverage to spare. Change the coverage number and everything shifts — which is exactly why it is an input, not a constant.
The percentage in that sentence is the one input on the form that is a judgment rather than a measurement. What it stands for, where the 5% default and every other tool's default come from, why it is applied before the round-up, and what it does not cover are the subject of the guide Waste factors, explained. Read it before changing the figure. The rest of this page is about this calculator: what it computes with the numbers you give it, stage by stage, why each field matters, where its model stops, and how to read what comes back.
What the calculator computes, stage by stage
Every estimator on this site follows the five-stage pipeline documented on the methodology page, and the insulation tool is a plain instance of it: its geometry is one rectangle or one pasted total, and its coverage divisor is not a constant at all but the number printed on your package.
- Geometry. Length × width gives the area in square feet: the attic's 25 × 20 ft is 500 sq ft. If you fill in the total-area field instead, that figure passes straight to the next stage and length and width are ignored — the attic entered as 500 sq ft produces the identical 8.6207 net packages and 10 to buy, and this page's build checks that the two paths agree. A zero or negative dimension is refused with a message rather than estimated. In metric mode, meters are divided by 0.3048 and square meters by 0.09290304 — both exact definitions — before this stage runs, so the arithmetic below is identical in both systems.
- Coverage. The area is divided by the coverage per package you typed: 500 ÷ 58 = 8.6207 packages. This is the net quantity, fractional and unrounded. Unlike the concrete tools, which divide by manufacturer-rated bag yields, or the paint tool, which divides by an adjustable default inside a published range, this page holds no coverage figure of its own: the engine's documentation records that batt and roll coverage changes with R-value, width, and product line, so the label is the only honest source and the figures under the form are examples, not defaults. A blank coverage leaves the placeholder in place; a zero is refused with a message.
- Waste. The net count is multiplied by
(1 + waste% ÷ 100): 8.6207 × (1 + 5 ÷ 100) = 9.0517. The default 5% is a trade convention recorded in the site's materials data, where it is labeled the allowance for cutting batts around framing and boxes and where the file notes that no primary source publishes a universal figure; it is adjustable in the form, and the engine accepts anything from zero to one hundred. The percentage is applied to the quantity, before the round-up, so it is counted exactly once — Waste factors, explained shows why that order matters. - Package rounding.
ceil(adjusted packages): 9.0517 becomes 10. A bag or roll is its own package, so the divisor here is one, and this is the only rounding in the chain; it always goes up, and it treats a quantity within one part in a billion of a whole number as an exact fit so that floating-point noise never buys a phantom bag. The spare is the rounding's contribution expressed back in area: (10 − 9.0517) × 58 = 55 sq ft of coverage bought beyond the waste-adjusted need. - User-priced cost. If you type a price per package, the cost is that price × the rounded count — never the net or adjusted figure, because the rounded count is what you buy. The site holds no insulation prices; leave the field blank and the line does not appear, and a price of zero is accepted for material already on hand.
Why each input matters
Length and width, or a total area. The two paths are alternatives, and the total-area field wins when it is filled, as its label says. Use length × width for one rectangle; use the total for anything else — several rooms, the walls of a room, an attic with a dormer bay — after settling the area with the square footage calculator. Because the engine only ever multiplies the two fields, any pair with the right product describes the right area: the wall example below enters a 52 ft perimeter as the length and an 8 ft wall height as the width and gets 416 sq ft, which is what those walls measure. Measure the gross area; the FAQ explains why framing is not deducted.
Coverage per package is the divisor, so it moves the count inversely, and it is the field to get right. It is the square-foot (or m²) figure on your label — per bag, per roll, per bundle, whatever the package is — and the count comes back in that same unit. A higher R-value product covers fewer square feet per bag, and the two widths made for the common framing spacings pack differently, which is exactly why no default is offered. The two example figures under the form illustrate the scale and are not products to shop for.
Waste scales the fractional count before it is rounded, so a change in it usually does nothing — the round-up absorbs it — and then, past some threshold, costs a whole package. The worked examples show both outcomes. Raise it for a space with many short bays, boxes, or vents; the guide linked above is the place to decide by how much.
Price per package touches only the last line and never feeds back into the count, so it can be added after the fact without disturbing the purchase.
The units toggle changes what the fields expect and how the result reads, not what is computed. In metric mode every area you type is converted to square feet with the exact factor above, the identical engine runs, and the area, coverage, and spare on the result are converted back to m². The one thing to keep straight is that the area and the label figure must be in the same system — the misreadings below show what happens when they are not.
The figures this page relies on
- Default waste, 5% — a trade convention recorded in the site's materials data as the allowance for cutting batts around framing and boxes. The file labels every waste default a convention rather than manufacturer data, because no primary source publishes a universal figure. Adjustable in the form.
- Coverage per package — none. The engine holds no coverage constant for insulation. The figure is read from your label every time, and the examples in the form's hint are placeholders.
- Units per package, one — arithmetic: a bag or roll is the package, so the waste-adjusted package count is rounded up directly.
- Meters per foot, 0.3048, and square meters per square foot, 0.09290304 — definitions, exact: the international foot and its square. Used only to convert metric entries into the engine's feet and square feet and to present areas back in m².
Worked examples
Every figure in this table and in the paragraphs after it was produced at build time by the engine wired to the form. The inputs are chosen to show different behaviors of the pipeline; the metric row was entered as meters and square meters and converted exactly before the engine ran, which is what the toggle does.
| Inputs | Area (sq ft) | Net packages | Waste | Adjusted | Buy | Spare (sq ft) |
|---|---|---|---|---|---|---|
| 25 × 20 ft, 58 sq ft per bag | 500 | 8.6207 | 5% | 9.0517 | 10 | 55 |
| 52 × 8 ft, 106 sq ft per bag | 416 | 3.9245 | 5% | 4.1208 | 5 | 93.2 |
| 52 × 8 ft, 106 sq ft per bag, no allowance | 416 | 3.9245 | 0% | 3.9245 | 4 | 8 |
| 29 × 20 ft, 58 sq ft per bag, no allowance | 580 | 10 | 0% | 10 | 10 | 0 |
| 29 × 20 ft, 58 sq ft per bag | 580 | 10 | 5% | 10.5 | 11 | 29 |
| 16 × 12 ft, 106 sq ft per bag | 192 | 1.8113 | 5% | 1.9019 | 2 | 10.4 |
| 16 × 12 ft, 106 sq ft per bag, 10% | 192 | 1.8113 | 10% | 1.9925 | 2 | 0.8 |
| 16 × 12 ft, 106 sq ft per bag, 15% | 192 | 1.8113 | 15% | 2.083 | 3 | 97.2 |
| 40 × 30 ft, 58 sq ft per bag, priced | 1,200 | 20.6897 | 5% | 21.7241 | 22 | 16 |
| 7.6 × 6 m, 5.4 m² per package | 490.83 | 8.4444 | 5% | 8.8667 | 9 | 7.75 |
The attic, by either path. 25 × 20 ft is 500 sq ft; against a bag labeled 58 sq ft that is 8.6207 packages net, 9.0517 with the default allowance, and 10 to buy with 55 sq ft spare. Type 500 into the total-area field instead and the result is the same 10 with the same 55 sq ft spare, because the engine's work begins at the area and does not care how it was arrived at. Run without a price, as here, the result carries no cost line.
The walls — where the allowance tips a package. 52 ft of perimeter at 8 ft is 416 sq ft; against a bag labeled 106 sq ft that is 3.9245 packages net. With no allowance the round-up buys 4 with only 8 sq ft spare; with the default 5% the adjusted figure is 4.1208 and the count is 5 with 93.2 sq ft spare. The two runs differ by 1 package, and this page's build checks that they do: the percentage asked for 20.8 sq ft more coverage, and the round-up to a whole package then supplied 93.2 sq ft beyond that. Neither is an error: the allowance is for the cuts, and the package is the unit sold.
The exact fit. 29 × 20 ft is 580 sq ft, which the 58 sq ft bag divides exactly: 10 packages net. At zero waste the engine buys 10 with 0 sq ft spare — an exact fit, with nothing for the round-up to add. (The engine also guards exact fits against floating-point noise, as the package-rounding stage above describes and the methodology page shows.) At the default the adjusted figure is 10.5, bought as 11 with 29 sq ft spare. The allowance here costs 1 package more than the exact fit, and 0.5 of that package — 29 sq ft — is spare: the normal shape of a small cushion on a count that happened to divide evenly.
The cut-up space at three allowances. 16 × 12 ft is 192 sq ft, 1.8113 of the 106 sq ft bags net. At the default the adjusted count is 1.9019 and the purchase 2; at 10% it is 1.9925 and still 2, with just 0.8 sq ft spare; at 15% it crosses to 2.083 and the purchase becomes 3, with 97.2 sq ft spare. The percentage moves the adjusted figure smoothly and the purchase in steps, which is why the table shows both columns: the question is never whether an extra point of waste costs anything, but whether it crosses the next whole package.
The priced run. 40 × 30 ft is 1,200 sq ft — 20.6897 of the 58 sq ft bags net, 21.7241 with the default allowance, 22 to buy with 16 sq ft spare. With $40.00 typed into the price field, the cost line reads $880.00: the rounded count times the price. That price is a placeholder chosen only to show the arithmetic; the site holds no insulation prices, and the cost is computed on the rounded count because the rounded count is what you buy.
The metric area. In metric mode, 7.6 × 6 m with a package labeled 5.4 m² reaches the engine as 24.9344 × 19.685 ft and 58.1251 sq ft per package. The area is 45.6 m² (490.83 sq ft), the net count 8.4444, the adjusted count 8.8667, and the purchase 9 with 0.72 m² (7.75 sq ft) spare. Dividing in square meters directly, 45.6 ÷ 5.4, gives 8.4444 — the same net figure, because a ratio of two areas has no unit. The toggle changes what you type and what is printed back; it never changes the path through the engine.
How to read the result
The headline is the purchase: Buy N packages. Beneath it the first line restates the division — the area, the coverage you typed marked as your label, and the fractional net count — so a typo in either field is visible before it is padded. With N% cutting waste is the adjusted count from stage three. Coverage to spare is the rounding's contribution in square feet: packages bought × coverage − adjusted need. It is not the waste allowance, which is already inside the adjusted figure, and it is not an invitation to buy one fewer; it is information about what the package size obliged you to take. Estimated insulation cost appears only when a price was entered and multiplies the rounded count. In metric mode the area, coverage, and spare read in m² while the count is unchanged. Read the division line to check your inputs, the waste line to check your allowance, and the headline to shop; the copy button puts the count and the area on the clipboard as plain text.
Common misreadings
This form has no thickness field, so the inches-for-feet slip that inflates a concrete order 12-fold cannot happen here. Its traps are the coverage field and the unit system, and each one below was run through the engine so the wrong answers are the real ones.
The R-value typed as coverage. The coverage field wants square feet per package, not the R-value on the bag. Run the attic with an R-value in that field — R-30, say, typed as 30 — and the engine divides 500 sq ft by 30: 16.6667 packages net, 17.5 adjusted, 18 to buy instead of 10. Nothing on the form can tell an R-value from a coverage figure; the division line on the result, which repeats the figure you typed, is the only warning.
Mixed units. The count is a ratio, so it survives a consistent slip: the metric example's 7.6 × 6 and 5.4 typed with the toggle still on imperial are read as feet and square feet, and because the area and the coverage both shrink by the same factor the purchase is still 9 packages. Mixing systems is what breaks it. The same 45.6 m² typed into the square-foot area field against a label figure of 58 sq ft gives 0.7862 packages net and a purchase of 1; the area correctly in square feet, 490.83, against the label's 5.4 m² typed as square feet gives 90.8952 net and 96 to buy — 10.76 times too many, the number of square feet in a square meter. A count that is wildly high or implausibly low for the space usually means one figure is in the wrong system.
Waste as a fraction. The waste field takes a percentage. The attic at 5% buys 10 bags; typed as 0.05 it is read as 0.05%, the adjusted count falls to 8.625, and the purchase drops to 9 — one bag short of the intended allowance, with no warning, because a fraction of a percent is a valid entry.
Both input paths filled. The form uses the total-area field whenever it has a value and ignores length and width, as its label says: the figure you pasted wins over the pair you typed. Underneath, the engine refuses to be handed both at once — "Enter either length × width or a total area, not both." — so the form never passes both. If the count does not match the rectangle you had in mind, clear the total-area field first.
Floor area for walls. A room's floor is length × width; its walls are the perimeter × the height, a different number. Total the walls with the square footage calculator, or enter the perimeter as the length and the wall height as the width, as the wall example does.
Pieces for packages. The count comes back in whatever unit the coverage figure describes. A figure per bag gives bags, a figure per roll gives rolls, and a figure per piece gives pieces — which then have to be divided by the pieces in a package by hand.
Padding twice. Rounding the area up before entering it, or adding a bag afterward for luck, repeats what the pipeline already does: the allowance goes on the quantity and the round-up on the allowance, once each. To carry a bigger cushion, raise the percentage and let the spare figure stay honest.
Where the model stops
The engine counts packages and nothing else. It does no thermal arithmetic: no R-value is computed, added, or recommended, and the level you settled on before shopping — from DOE guidance or your code office, as the next section says — enters this page only through the coverage printed on the product it led you to. It models one area at one coverage figure with one flat percentage: it does not lay batts out between framing, does not know the framing spacing or which bays are short, does not deduct framing (the FAQ explains why the gross area is the right entry), and cannot see which offcuts get reused — the waste percentage is the single figure standing in for all of that. It counts no vapor barrier or ventilation baffle, and it does not read the depth-and-density chart on a blown-in bag; the row you choose from that chart is the manufacturer's specification, and what this tool does with it is the division. A second layer is a second run. Package counts here are purchasing math only — as the note under the form says, R-value selection, vapor barriers, ventilation baffles, and code-required levels are for DOE guidance, your product's instructions, and your local code office. The methodology page lists the simplifications every estimator shares.
R-value, in one paragraph and no tables
R-value measures resistance to heat flow — higher is better insulation, and stacked layers add their values together. How much your home should have depends on where it is: the US Department of Energy publishes recommended levels by climate zone (attics warrant far more than walls, cold climates more than mild ones), and local energy codes set minimums. This page deliberately reproduces none of those numbers: recommendations change with code cycles and climate mapping, so get the target from DOE's Energy Saver guidance or your code office, pick a product that delivers it, and let this tool do the one thing it is built for — counting the bags.
Related tools and guides
Insulating usually means the cavities are exposed — the moment to count the drywall that closes them back up, and after that the paint. For the framing itself, the board foot calculator handles the lumber math. The square footage calculator totals several rooms, or the walls of one, into the figure this form takes as a total area, and the construction unit converter moves any figure between imperial and metric. For the one judgment on this form, read Waste factors, explained; for the pipeline it sits in, how material estimates are calculated; for the toggle, metric and imperial in the estimators; or browse all guides.
Frequently asked questions
Where do I find the coverage per package?
On the label — every batt and roll package sold in the US prints its coverage in square feet, and it is the only trustworthy figure because coverage changes with the product: a higher R-value means thicker material and fewer square feet per bag, and 15 in and 23 in widths (for 16 in and 24 in framing) pack differently. That is why this tool has no built-in coverage number.
What does R-value actually mean?
Resistance to heat flow: the higher the R-value, the better the material slows heat moving through it, and values add when layers stack. It is a property to choose before you shop — the US Department of Energy publishes recommended levels by climate zone — and once chosen it determines which product you buy. This tool then counts packages of that product; it performs no thermal calculations itself.
How do I know what R-value my home needs?
It depends on your climate zone, the assembly (attic floors want far more than walls), and what is already there. DOE Energy Saver guidance and your local code office are the right sources — a quantity calculator inventing a recommendation for your house would be guessing, so this one deliberately does not.
Should I subtract the joists from the area?
No — measure the gross area. Batts are sized for the cavities between framing at standard spacing, and label coverage already reflects real installed area. The waste allowance covers the cutting around boxes, vents, and odd bays.
Does the tool cover blown-in insulation?
The same division works — blown-in bags state coverage per bag at each target R-value in a chart on the label. Find the row for your chosen R-value, enter that coverage, and the bag count follows. The depth-and-density details on the chart are the manufacturer’s spec, not something to improvise.
Can I enter the area in square meters?
Yes. Switch the units toggle to Metric and the fields take meters for length and width, m² for a total area, and m² for the package coverage. Each entry is converted with the exact definitions of the foot (0.3048 m) and the square foot (0.09290304 m²) before the engine runs, and the areas on the result are converted back. The count is the same either way, because area ÷ coverage is a ratio with no unit: 7.6 × 6 m against a 5.4 m² label is 9 packages whichever system you read it in. What matters is that the area and the label figure are in the same system.
Why did the allowance add a whole extra package?
Because packages are whole. The allowance is applied to the fractional package count and the count is then rounded up, so when the net figure already sits close to a whole number even a small percentage pushes it over. The 52 × 8 ft wall example needs 3.9245 packages net — 4 to buy with no allowance — and 4.1208 with the default 5%, which rounds up to 5. The spare figure on the result shows how much of that extra package the rounding bought. Lowering the percentage is the only way to remove it, and the guide on waste factors explains what you give up when you do.
How do I count two layers?
Run the tool once per layer. Each layer is its own area ÷ its own label coverage: if the second layer is a different product its package covers a different number of square feet, and if it is the same product the second run simply repeats the first. R-values add when layers stack, as noted above, but that addition is yours to make before you shop — this tool only counts packages of whatever products you chose.
Measurements never leave your browser. The estimating pipeline is documented on the methodology page.