Rehab Budget Calculator

Total a renovation from line items you price yourself — materials and labor per line, a contingency percent you control, and an optional cost per square foot. This tool supplies no price data — every dollar figure comes from your own quotes and notes.

Line items

Example: kitchen, bath, flooring, and paint totaling $24,000 + 10% contingency → $26,400. Empty rows are ignored; a blank cost on a used row counts as $0.

Line 1

Line 2

Line 3

Line 4

Line 5

Line 6

Line 7

Line 8

Price at least one line item to see the budget totals.

Companion guide: The 70% rule for flips — how a rehab budget like the one totaled here becomes the subtraction in a flip’s maximum offer. More in the guides index.

What the calculator computes

This is an adding machine with two conventions attached — a contingency taken as a percentage of the subtotal, and a per-square-foot readout that divides the grand total rather than the subtotal. Each line you fill in carries a material cost and a labor cost; a blank cost on a used row counts as $0, and a row with nothing in it is ignored. The engine sums the material column into a materials total and the labor column into a labor total, then adds the two for the subtotal. The contingency percent you enter is applied to that subtotal — contingency = subtotal × percent — and the grand total is the subtotal plus the contingency. If you enter a floor area, the engine also divides the grand total by the area for a cost per square foot; leave the area blank and that readout is simply absent. That is the whole chain: materials + labor = subtotal; subtotal × contingency% = contingency; subtotal + contingency = grand total; grand total ÷ area = cost per square foot. No step reaches outside your inputs. The engine holds no price list, no regional index, and no default scope — the only dollar figures it knows are the ones you typed.

The worked example, line by line

The example in the hint above is four lines, each given here as materials then labor — Kitchen $6,000 and $4,500; Bathroom $3,000 and $2,500; Flooring $4,000 and $2,000; Interior paint $800 and $1,200 — with a 10% contingency and a floor area of 1,200 square feet. The materials column sums to $13,800 and the labor column to $10,200, for a subtotal of $24,000. 10% of that subtotal is $2,400, so the grand total is $26,400, and dividing by 1,200 square feet gives $22.00 per square foot across 4 priced lines. Every one of these figures is computed at build time by the same engine that runs the form, which is why the hint and this paragraph cannot disagree.

How to read the result box

When at least one row carries a cost, the result box shows the grand total first, then the materials total, the labor total, the subtotal, and the contingency with the percent it was computed at; the cost per square foot appears as a final line only when the area field is filled. The copy button places the same figures on your clipboard as a single line of text. Rows that are completely empty are skipped silently. A row with a label but no cost stops the calculation and names the line to complete, because a label alone is not a price — the form would rather wait than count a forgotten line as nothing.

Materials and labor: two columns, one total

Splitting each line into two columns changes nothing about the total — it changes what you can see. Move every cost in the example into the materials column (kitchen $10,500, bathroom $5,500, flooring $6,000, interior paint $2,000, no labor at all, no labels) and the engine still returns a subtotal of $24,000 and a grand total of $26,400, identical to the split version. What the split buys you is the two column totals: in the headline example, materials are $13,800 of the $24,000 subtotal and labor is $10,200, so you know at a glance which column a change in scope or a second quote would move.

The columns also tolerate one-sided lines. A demolition-and-trades budget entered as labor only — demolition $2,500, drywall $3,200, electrical $4,100, materials left blank on every row — gives a materials total of $0, a labor total of $9,800, and with a 20% contingency on 900 square feet a grand total of $11,760, or $13.07 per square foot. A single line works too: a roof at $9,000 materials and $6,000 labor with a 15% contingency and no area entered is a $15,000 subtotal, a $2,250 contingency, and a $17,250 grand total, with no per-square-foot line because there was no area to divide by.

How the contingency percent works

The contingency is a flat percentage of the subtotal, applied once, after every line has been summed. It does not scale with the number of lines, it does not weight one line more than another, and it does not know what is behind the walls — it is the amount you decide to hold against the scope you have not yet seen. The percent is yours. The field’s placeholder is 10; leave the field blank and the calculator computes with the placeholder, but any figure from 0 up to the engine’s limit is accepted, including fractions, and the validation section below quotes the message returned above that limit. Three settings of the same four-line example show the shape. At 0% the contingency is $0 and the grand total equals the subtotal, $24,000. At 10% the contingency is $2,400 and the grand total is $26,400. At 20% it is $4,800 and $28,800. The contingency amount rises in a straight line with the percent, so doubling the percent doubles the dollars held, and the per-square-foot readout moves with it: $20.00, $22.00, and $24.00 on the same 1,200 square feet.

Cost per square foot is a readout, not a benchmark

Cost per square foot is the grand total divided by whatever area you enter, nothing more. It puts your own candidate projects on a common footing; it is not a figure to measure against a table of expected costs, because the engine has no such table and this page does not supply one. Two things about it are easy to miss. First, it includes the contingency, because it divides the grand total rather than the subtotal: the example at 0% contingency reads $20.00 per square foot, while at 10% it reads $22.00. Second, the area changes only this one readout. Spread the headline budget over 2,400 square feet instead of 1,200 and the grand total is still $26,400, but the cost per square foot falls to $11.00. The area is a denominator, not a cost driver: the engine never multiplies a square-foot figure by a rate to produce a dollar amount. Leave the area blank and the result box omits the line entirely — the same four lines at 10% with no area entered return the same $26,400 grand total and no per-square-foot figure.

A whole-house budget on 8 lines

The form offers 8 rows, enough to give each major system and surface its own line. Here is one filled completely, each line as materials then labor: Roof $7,500 and $5,000; HVAC $4,200 and $1,800; Kitchen $8,000 and $6,000; Primary bath $3,500 and $3,000; Hall bath $2,200 and $2,000; Flooring $5,500 and $2,500; Paint $1,100 and $2,400; Windows $6,000 and $2,500; a 12.5% contingency; 1,650 square feet. Materials sum to $38,000, labor to $25,200, the subtotal is $63,200, the contingency is $7,900, the grand total is $71,100, and the readout is $43.09 per square foot across 8 lines. The fractional percent is accepted exactly as entered. If a project needs more than 8 lines, combine small items into one — “fixtures and hardware”, say — since the label plays no part in the arithmetic; two rows both labeled “Kitchen” are simply added.

What the engine rejects

The engine validates before it adds, and its messages are the only place this page states its limits. Called with no lines at all, it returns “Add at least one line item with a cost.” Called with lines that carry a label and no cost — nothing to add — it returns “Enter a material or labor cost on at least one line.” A negative cost is refused line by line: a material cost of -$500 on the first row returns “The material cost on line 1 cannot be negative.” A contingency above the maximum returns “Enter a contingency percentage of 100% or less.” and a floor area of zero returns “Enter a floor area greater than 0 square feet, or leave it blank.” Each message is produced by the engine at build time. The form passes the last three cases to the engine and shows its message unchanged; the first two it handles before the engine is called — with no row priced it shows its placeholder, and when a row carries a label and no cost it asks you to complete that line, as described above.

Where the model stops

The budget contains exactly what you put on its lines and nothing else. It does not include permits, inspections, design fees, dumpsters, or the cost of financing the work unless you give one of them a line. It has no timeline: it does not know how many months the work takes, so it carries no holding costs — those belong in the holding-costs field of the Fix & Flip Calculator, which is a separate input from the rehab budget. It does not model price changes during the project, change orders, or the difference between a quote and an invoice; the contingency is a flat reserve you set, not an estimate of that risk. It does not model taxes of any kind, and it does not compare your figures to any benchmark, index, or average, because it holds none. These omissions are stated so that you can see them, not approximated silently — the number you get is the sum you entered, and the gaps are yours to fill from quotes and inspection.

Common misreadings

These four readings are the ones to check. The contingency percent is a share of the subtotal, not of the grand total: in the example, the $2,400 reserve is 10% of the $24,000 subtotal but 9.09% of the $26,400 grand total, so a reserve described as “10 percent of the budget” is slightly smaller than it sounds. The cost per square foot includes the contingency, as shown above, so comparing it with a figure built on a bare subtotal mixes two bases. A blank cost is zero, not unknown — the engine cannot flag a line you forgot to price if you never gave it a row, and it will not flag a line you priced at nothing. And the grand total is a cost, not an offer: in a flip it is subtracted from a percentage of the after-repair value to set the maximum offer, which is the subject of the 70% rule guide; in a rental it is added to the cash invested. Neither calculator treats the budget as a verdict, and neither does this one.

Feeding the budget into a deal analysis

The grand total is built to be carried forward. In the flip screen, the maximum offer is the rule percent times the after-repair value minus the rehab budget — 70% by default, read back here from the engine's own result, and the percent is yours to change. Carry the headline $26,400 budget into a flip entered with an after-repair value of $260,000, a purchase price of $150,000, holding costs of $6,000, selling costs of 6%, and the rule left at its default: the maximum offer at 70% is $155,600, the selling costs are $15,600, the total invested is $198,000, and the projected profit is $62,000. Raise the contingency to 20% and carry the $28,800 budget instead: the maximum offer drops to $153,200 and the projected profit to $59,600 — every dollar added to the budget comes straight off both figures. The guide walks through the rule as a screen, including why the rule percent is a convention rather than a verdict: The 70% rule for flips.

In the Rental Property Calculator, the budget enters as initial rehab and raises the cash invested. A rental entered as a $220,000 purchase with $44,000 down, 7% for 30 years, $2,200 rent, a 5% vacancy allowance, $650 of monthly operating expenses, and $5,000 of closing costs has $49,000 invested and a 6.59% cash-on-cash return with no rehab; add the $26,400 budget and the cash invested becomes $75,400 and the cash-on-cash return 4.28% on the same $269.07 of monthly cash flow. The cap rate is unchanged at 7.85%, because cap rate divides net operating income by the purchase price and ignores both the financing and the cash you put in. If the renovation is for a home you would live in, the Rent vs. Buy Calculator compares owning against renting over your horizon; it has no rehab field, so the budget there is a figure you weigh alongside the result rather than one the model consumes.

Frequently asked questions

Why doesn’t this calculator suggest prices?

Because the engine has no price data to suggest. Every dollar on the page comes from the caller — your quotes, your walkthrough notes, your supplier figures. The same label can describe very different scopes, and the price of any scope is set by the people who will supply and do the work, so a pre-filled figure would be a guess presented as a fact. This tool does the arithmetic — column totals, subtotal, contingency, grand total, cost per square foot — and leaves every price to you.

What does the contingency percent do, and is there a default?

The contingency is the subtotal multiplied by the percent you enter, added on top as a reserve for scope you have not yet seen. The field’s placeholder is 10 and the calculator uses that figure when the field is left blank. Any percent from 0 up to the engine’s limit is accepted, including fractions such as 12.5; the validation section on this page quotes the message returned above that limit. In the four-line example, 10% of the $24,000 subtotal is $2,400; at 20% it is $4,800.

Why track materials and labor separately?

Because the two columns answer different questions even though they produce the same total. Materials and labor come from different sources — a supplier’s price and a tradesperson’s quote — and they change for different reasons, so entering them separately shows which column a change in scope or a second quote would move. If a bid gives you only one figure, put it in either column: the subtotal, contingency, and grand total are identical either way.

What is the cost-per-square-foot number for?

Comparing your own candidate projects on a common footing. It is the grand total — contingency included — divided by the floor area you enter, and it appears only when an area is entered. It is not a benchmark, and the page supplies none to compare it against. The headline example reads $22.00 per square foot on 1,200 square feet and $11.00 on 2,400 square feet, with the grand total unchanged at $26,400.

What happens if I leave a cost blank?

A blank material or labor cost on a row you have used counts as $0, so a line with only a labor figure is a labor-only line. A row with a label and no cost at all stops the calculation and asks you to complete that line, because a name is not a price. Rows with nothing in them are ignored.

Does the budget include permits, holding costs, financing, or taxes?

Only what you give a line to. Permits, inspections, dumpsters, and design fees are included if you add them as lines and absent if you do not. Holding costs — what the project costs you while you own it, entered as one project total — are not part of the rehab budget at all; the Fix & Flip Calculator takes them as a separate input. Financing of the renovation itself and taxes of any kind are not modeled; the methodology page lists the omissions.

How does the total feed the 70% rule?

As the subtraction. The flip screen’s maximum offer is the rule percent times the after-repair value minus the rehab budget, with 70% as the default convention and the percent yours to change. The $26,400 example budget against a $260,000 after-repair value gives a maximum offer of $155,600 at 70%; the $28,800 budget at 20% contingency gives $153,200. The guide on the 70% rule covers how to read that figure as a screen rather than a verdict.

Can I enter more than 8 lines?

The form shows 8 rows. For a longer scope, group small items into a single line — fixtures and hardware, say, or exterior repairs — and enter the group’s combined material and labor costs. Labels play no part in the arithmetic, so two rows with the same label are simply added together.

Not financial advice: a general educational estimate built entirely from figures you supply. Verify scopes and prices with local contractors and qualified professionals. Values are processed locally in your browser and never transmitted. See the methodology page.