Free calculator · no signup
Bid markup calculator for contractors
Enter your direct job cost, overhead, contingency and target profit margin. The calculator gives you a bid price that actually hits that margin, and shows the markup it takes to get there.
Runs entirely in your browser; nothing is sent or saved. It does math on your numbers. It does not suggest a markup, margin or price.
Markup vs margin, in one minute
Markup is profit as a percentage of cost. Margin is profit as a percentage of the selling price. They are different numbers for the same job. If your cost is $10,000 and you add 10%, you bid $11,000 and make $1,000, which is a 9.1% margin, not 10%. To keep a 10% margin you divide by 0.90 and bid $11,111.
| Target margin | Markup on cost needed |
| 10% | 11.1% |
| 15% | 17.6% |
| 20% | 25.0% |
| 25% | 33.3% |
| 30% | 42.9% |
Where the overhead number comes from
Add up a year of costs that are not tied to one job (office, truck payments, insurance, phones, software, your own non-billable time), then divide by a year of direct job costs. Example: $90,000 of overhead on $450,000 of direct job costs is 20%. Use your own books, not someone else’s rule of thumb.
Examples are illustrations, not industry benchmarks or a recommended markup. Not accounting or tax advice. Check how sales tax applies to materials and labor in your state.
Want the full bid workflow?
The Contractor Bid Kit uses this same formula in a fillable estimate and takeoff worksheet and an Excel calculator, plus a proposal template, scope and exclusions checklist, change order, progress payment schedule, follow-up email scripts and a short pricing guide. $49 one-time. The calculator stays free either way.
Get the Contractor Bid Kit — $49 See what’s insideTemplates and worksheets, not legal, tax or accounting advice. Contract, licensing, deposit, retainage, lien and notice rules vary by state: check your state licensing board and local lien rules, and have an attorney in your state review your contracts before you use them. No guaranteed results.