Stop eyeballing bids — turn square footage into a defensible quote with a real margin
Use net surface area to be painted (walls/ceiling/trim), not floor area. Each coat re-covers the full area, so it multiplies both paint and labor. Color changes & bare/porous surfaces usually need 2.
Coverage: ~350–400 ft²/gal interior topcoat, 250–350 exterior/porous. Sundries = tape, plastic, rollers, brushes, caulk, primer — commonly 10–20% of paint cost. Gallons always round up.
Production rate ~150–200 ft²/hr for open rolling; trim/cut-in/detail is slower — build that into prep hours. Labor rate is your burdened cost (wage + payroll taxes + comp + insurance), not the wage and not your billable rate. Prep time doesn't scale with coats.
Overhead = rent, vehicles, fuel, phone, software, admin, marketing — measured from your books (annual overhead ÷ annual revenue). Real painters run 25–45%, not 10%. Margin is profit you keep after all costs and is applied as a share of price, not a markup.
Most painting contractors eyeball a bid — they underestimate labor hours, forget overhead, mismark materials, and skip a real profit margin, so a "won" job nets near zero. This calculator builds the bid the way an estimator should: it derives gallons from your square footage, coats and coverage rate; derives labor hours from area, coats and production rate (plus prep); costs paint, sundries and burdened labor; applies overhead as a percent of direct cost; then applies a true profit margin (a divide, not a multiply) to produce a defensible price. It shows the full breakdown, your break-even, the equivalent markup, and price per square foot. Everything runs privately in your browser, free.
A 1,500 ft² job, 2 coats, 350 ft²/gal coverage, $45/gal paint, sundries at 15% of paint, 175 ft²/hr production, 4 prep hours, $55/hr burdened labor, 30% overhead, 15% target margin:
Pricing "cost + 15%" instead would have been 2117 × 1.15 = $2,435 — a 13% margin, not 15%, leaving real profit on the table. That gap is exactly what the margin method fixes.
gallons = CEILING( (area × coats) ÷ coverage ) ← always round UP
paint_cost = gallons × paint_per_gallon
sundries = % of paint_cost (or a flat $)
materials = paint_cost + sundries
coat_hours = (area × coats) ÷ production_rate
total_hours = coat_hours + prep_hours
labor_cost = total_hours × burdened_rate
direct_cost = materials + labor_cost
overhead = direct_cost × overhead% / 100
total_cost = direct_cost + overhead ← break-even
bid_price = total_cost ÷ (1 − margin% / 100) ← divide, NOT ×
profit = bid_price − total_cost
The divide-by-(1 − margin) line is load-bearing: it makes profit a true share of the final price. A 15% margin equals about a 17.6% markup on cost — pricing "cost + 15%" gives you LESS than a 15% margin. The tool shows the equivalent markup so the difference is visible.
You can drop this calculator straight onto your own site — no account, no coding. Grab the one-line iframe snippet from the “Put this calculator on your site” section below.
Don't eyeball it. Start from net paintable square footage and coats, divide by your coverage rate for gallons (round up), and by your production rate for labor hours. Cost paint and sundries, multiply hours by your burdened labor rate, add overhead as a percent of direct cost, then divide that total cost by (1 − your margin) so profit is a true share of price. This tool runs every step and shows the breakdown, break-even and price per ft².
Markup is added on top of cost (cost × 1.15). Margin is a share of the final price (price = cost ÷ (1 − 0.15)). A 15% margin equals about a 17.6% markup on cost, and "cost plus 15%" gives LESS than a 15% margin. This tool uses the divide-by-margin method and shows the equivalent markup so the difference is visible.
Overhead is every cost not tied to one job — rent, vehicles, fuel, phone, software, admin, marketing, insurance — typically 25–45% of direct cost. Measure yours: overhead % = annual overhead ÷ annual revenue. The old flat 10% rule means paying overhead out of pocket. The tool applies overhead as a percent of materials + labor.
Gallons = (area × coats) ÷ coverage per gallon, then always round UP. Interior topcoat covers ~350–400 ft²/gal; exterior, stucco, brick or bare drywall is lower at 250–350. The tool shows both the raw gallons needed and the whole gallons to buy so you never under-buy.
Enter your burdened cost per painter-hour: wage + payroll taxes + workers' comp + insurance. That's what a painter-hour costs YOU — not the wage and not your billable rate. Burdened cost is often $35–$50/hr even when you bill $55–$65/hr.
As a sanity check, interior commonly runs $2–$6/ft² and exterior $3–$7 (2025–2026 US averages). But per-ft² is a reasonableness flag, not the pricing method — build the price from materials, labor, overhead and margin, then compare. If it lands far outside, re-check area, hours or rate.
Yes. 100% free and fully private — all math runs in your browser.
Everything is calculated in your browser — nothing is sent to Snap. Share links encode your inputs in the URL, so only share them with people you trust.