Markup and margin are two different numbers, and mixing them up costs you money on every job you quote. Add 50% to your cost and you did not make a 50% margin — you made 33.3%. Put a real job in below and you will see the gap in dollars, plus the markup you would have to charge to actually hit the margin you want.
Free · no signup · no email required
The values below are starting points. Replace every one of them with your own — the answer is only as good as what you put in.
Everything the job costs you: material, labor, subs, fuel, dump fees. The 1,000 is a placeholder — put in a real number off a recent job. Leave it at 0 if you only want the markup-to-margin conversion; those percentages do not need a cost.
The percentage you add on top of cost. Starting point only — enter the number you actually use in the field.
Margin left after job cost, before overhead and your pay. Use your own target, not this placeholder. At 100% no price works — there is nothing left for cost — and the page says so instead of showing a number.
33.3%
The real gross margin on the job. Compare it to the markup number you had in your head. This one is pure percentage conversion — it still works with the cost field left at zero.
Percentage points, not a ratio: your markup number minus the margin it actually earns. Points of margin you thought you had and do not. The gap widens the higher your markup goes, with no ceiling.
What you would quote the customer today.
Dollars left after job cost, before overhead and your pay.
Quote this instead if the target margin is the number you have to hit.
Write this number on the pricing sheet — it is the one that gets applied to a takeoff. It climbs without limit as the target approaches 100%, so a very large number here is arithmetic, not an error.
Dollars left after job cost if you price to the target instead of the markup.
How far this one job lands from the price your target margin needs. Multiply it by your job count for the year to see what the habit is worth over a season. If your markup already clears the target, the label above flips to 'ahead'.
Nothing you type here leaves your browser
Markup and margin both describe the space between what a job costs you and what you charge. They just measure it against different bases. Markup is measured against your cost: add $500 to a $1,000 job and that is 50% markup. Margin is measured against the price the customer pays: that same $500 sits inside a $1,500 invoice, so it is 33.3% margin. Same job, same five hundred dollars, two percentages. Cost is always the smaller of the two denominators, so the markup figure is always the bigger number. They only agree at zero. Above zero they split apart, and the gap widens the higher you go. Your P&L, your accountant, and your banker all talk in margin. Field pricing usually gets done in markup. That mismatch is the whole problem.
It happens quietly. Say a shop decides it needs 40% to stay alive, adds 40% to cost on every estimate, and books 28.6% all year. Check it: 40% markup on $1,000 is a $1,400 price, and $400 of $1,400 is 28.6%. That is 11.4 points gone on every job, and nothing on the estimate looks wrong. It is easy to miss, because the number on the estimate matches the number in the owner's head. It shows up later, sideways — cash is tighter than the job count says it should be, and the year finishes lighter than it felt. The fix is not more hours or more jobs. Convert your margin target to a markup once, write that markup on the pricing sheet, and price off it from then on.
Use your own numbers, but say a changeout costs you $1,180 all in — the unit, expansion tank and fittings, four hours of a tech at your burdened rate, and the permit. The $1,180 is a made-up round number picked to show the arithmetic; your line items will be different, and the arithmetic will not. Add your usual 50% and you quote $1,770, which leaves $590 of gross profit. That is a 33.3% margin, not 50%. Now say the shop needs 40% to cover overhead and pay the owner. At a 40% margin the price is $1,967 — the calculator carries the cents at $1,966.67, which is why it puts the shortfall at $196.67 rather than a flat $197 — and getting there takes a 66.7% markup, not 40% and not 50%. Do forty of these in a year and you are about $7,870 apart, on the same trucks, the same techs, and the same forty phone calls. Nothing about the work changed. Only the denominator did.
Markup to margin: 15% markup is a 13.0% margin. 20% is 16.7%. 25% is 20.0%. 33.3% is 25.0%. 50% is 33.3%. 100% is 50.0%. Now the direction that actually matters, margin to the markup it takes: a 20% margin needs 25.0% markup. 25% needs 33.3%. 30% needs 42.9%. 35% needs 53.8%. 40% needs 66.7%. 50% needs 100.0%. Watch how fast that second list climbs. Past 50% margin the required markup is more than double the margin, and it keeps climbing with no ceiling — there is no such thing as a markup that is too big to be arithmetic. That is why the conversion belongs on the pricing sheet instead of in your head. The two formulas are margin = markup / (1 + markup) and markup = margin / (1 - margin).
Everything on this page is gross margin — what is left after the direct cost of that one job. Truck payments, insurance, software, the yard, the phone that rings at seven at night, and your own pay all come out of that. A 33% gross margin is not 33% in your pocket. Work backward instead of guessing at a target: total last year's overhead, divide it by the revenue you did, and that percentage is the floor every job has to clear before a dollar is yours. Add the profit you actually want on top. Now you have a margin target with a reason behind it. Convert it to markup here, and price off the markup number in the field.
No. A 50% markup produces a 33.3% margin. Markup is figured on your cost, margin is figured on the price the customer pays, so the same dollars land on a bigger denominator when you talk in margin. Add 50% to a $1,000 cost and you get a $1,500 price with $500 of gross profit, and $500 divided by $1,500 is 33.3%.
66.7%. The formula is margin divided by one minus margin: 0.40 / 0.60 = 0.667. On a job that costs you $1,200 that means a $2,000 price and $800 of gross profit. If you had added 40% instead, you would have quoted $1,680 and made 28.6% — $320 short on that single job, before you multiply it by a year of them.
Divide the markup by one plus the markup. A 35% markup is 0.35 / 1.35 = 25.9% margin. Going the other way, divide the margin by one minus the margin: a 25% margin needs 0.25 / 0.75 = 33.3% markup. Both conversions need only the percentage — job cost cancels out — so the same pair holds on a $400 service call and a $40,000 remodel. That is also why you can leave the cost field at zero here and still get the conversion.
Set the target in margin, then price in markup. Margin is the language your P&L, your accountant, and your lender use, so that is where the target belongs. Markup is what a crew lead can apply straight to a takeoff in the field. Convert once, put the markup number on the pricing sheet, and check realized margin against the target every quarter.
There is no single right number, and anyone who quotes you one has not seen your overhead. Build it from your own books instead: add up last year's overhead, divide by the revenue you did, and that percentage is the floor every job has to clear. Add the owner pay and the profit you want on top. Convert whatever total you land on into a markup here.
No. It works in gross margin only — price minus the direct cost of that one job. Overhead, taxes, callbacks, warranty work, and your own pay all come out of the gross profit it shows. Treat the result as the most a job can contribute, not what you keep. If you want an all-in view, add your overhead share and a callback allowance into the cost field — but know that what comes back is then a net margin, not the gross margin the rest of this page is talking about.
Because there is no price that leaves nothing for cost. As the target margin climbs toward 100%, the markup needed climbs without limit — a 90% target needs 900% markup, a 99% target needs 9,900%. Those are real answers, not errors. At exactly 100% there is no solution at all, and the calculator says so instead of printing a number.
BidTorch is Hoss Automation's white-label quoting and field-ops app for residential trades — line-item quoting for plumbing, HVAC and electrical, area and square-foot quoting for insulation and roofing. Flat pricing: Solo $89/mo for up to 2 seats, Team $149/mo for up to 5, Crew $249/mo for up to 10, custom above that, and no per-seat fees. 14-day free trial, no credit card required. Convert your margin target into a markup here, then price every quote off that one number.
No credit card · flat pricing from $89/mo · no per-seat fees
Free shop rate calculator for contractors. Enter overhead, field techs, billable efficiency and profit target to get your break-even and target hourly rate.
Free job estimate calculator for trades. Enter material, waste, labor, subs, overhead and target margin to get a defensible price, profit and markup.
Free calculator for trade contractors. Enter your own quote numbers and see what the estimates that never got a yes or a no are worth per month and per year.
Free blow-in insulation calculator. Enter attic sq ft, existing and target R-value, and your bag's coverage to get inches, bag count, and material cost.