Guides / Bidding

How to bid a painting job

A paint bid is mostly a labor estimate. Get the painter-hours right, load them with your real labor cost, and the price follows. This is the method CutInMath uses, so you can check every number it gives you.

1. Measure by surface and method

Each surface runs at its own speed, so measure it separately: walls and ceilings in square feet, trim and base in linear feet, doors by count. SERVVIAN's estimating guide makes the same point: give each item of service its own production rate instead of one blended number for the job (SERVVIAN).

2. Turn quantities and coats into hours

Hours = quantity × coats ÷ production rate (units per painter-hour, per coat). At 200 sq ft per hour, 4,800 sq ft of walls at two coats is 48 painter-hours. Rates change with method and height: SERVVIAN's examples run from 150 sq ft per hour for brush and roll on 17 ft walls to 800 for spray-only new construction, and note that ladders can slow production 25–50% (SERVVIAN).

3. Price prep as its own lines

Drop cloths, sanding, patching and priming are labor too. Enter each one as a line with its own rate, so the hours stay visible. Krib's table, for example, excludes prep from its painting rates and handles it separately (Krib).

4. Add supervision and get crew days

If a lead spends part of the job checking work or talking with the client, add a supervision percentage. Crew days = painter-hours ÷ (painters × hours per day), which is the number that schedules the job.

5. Load the wage and add materials

Loaded rate = wage × (1 + burden %), where burden covers employer payroll taxes, workers' compensation and benefits. For reference, the BLS reports a May 2025 median of $23.75 per hour for construction and maintenance painters (BLS); use what you actually pay. Add paint and supplies as a dollar amount for the job or as a percentage of labor.

6. Set overhead and profit as a share of price

  • Break-even = direct cost ÷ (1 − overhead %).
  • Price at target = direct cost ÷ (1 − overhead % − profit %).

Direct cost is loaded labor plus materials. Adding a markup to cost instead of dividing by (1 − %) leaves you below your target profit.

7. Check the quote you plan to send

Compute your profit at the price you will actually quote, then ask what happens if the crew is 10% slower. If that already puts you near zero, the bid is fragile. Divide the price by painter-hours too: Krib publishes a public-source range of $55–$75 per painter-hour for residential interior work in the US in 2026 (Krib).

Worked example

This is the sample bid built into the calculator. The quantities and percentages are illustrative; replace them with yours.

LineQuantityCoatsRate / hrHours
Floor protection2,500 sq ft11,4001.79
Pole sand walls4,800 sq ft11,0004.80
Spot-patch walls4,800 sq ft15009.60
Spot-prime patches4,800 sq ft12,5001.92
Walls, 8 ft, brush and roll4,800 sq ft220048.00
Ceilings2,250 sq ft120011.25
Doors and frames122212.00
Baseboard520 lin ft1806.50

That is 95.86 hours of work. Add 5% supervision: 100.6 painter-hours, or 4.19 crew days for 3 painters at 8 hours. With a $23.75 wage, 20% burden, $1,200 of materials, 20% overhead and a 15% profit target, the calculator gives a break-even of $5,086 and a recommended price of $6,260. If the crew runs 10% slower, profit at that price falls to 9.9%. Open the calculator and load the sample bid to see every line.

Estimates are only as good as the inputs. Time your own crews on similar jobs and use those rates when you have them.