Guide · Pricing

Markup vs Margin for Contractors: The Difference That Decides Profit

By Oussama Chicha, EditorUpdated Checked against primary sources · not yet reviewed by a licensed professionalFact-checked
Quick answer

Markup is profit as a share of cost; margin is profit as a share of price. They are never the same number above zero: margin = markup ÷ (1 + markup), so a 25% markup is a 20% margin and a 15% markup is only a 13% margin. To protect a margin, price from it: price = cost ÷ (1 − margin). Mark a bid up from cost and read the result as margin, and the job comes in short.

Why 15% is not 15%

Say a job costs you $10,000 to build and you add 15% to it. You bid $11,500 and you expect to keep 15%. You keep $1,500, which is 15% of the cost but only 13.0% of the $11,500 you actually collect (0.15 ÷ 1.15 = 0.1304) [4]. That gap is the whole subject of this guide. The 15% you added is a markup. The 13.0% you kept is a margin. Both describe the same $1,500. They measure it against different bases, and the base that matters to your bank balance is the price.

The confusion is built into the words. "I want to make 20% on this job" can mean 20% of cost or 20% of price, and the two produce different bids. A crew that marks up and a bookkeeper who reads margins will disagree about how the year went, and both will be right.

The two formulas

Markup measures profit against what the job cost. Margin measures the same profit against what it sold for.

markup = profit ÷ cost margin = profit ÷ price margin = markup ÷ (1 + markup) markup = margin ÷ (1 − margin)

Because price is always cost plus profit, price is always the larger base, so for the same job the markup is always the larger percentage. The two only meet at zero [4]. A 25% markup is a 20% margin (0.25 ÷ 1.25). A 20% margin needs a 25% markup (0.20 ÷ 0.80). A 50% markup is a 33.3% margin, and a 50% margin needs a 100% markup.

Both percentages live on the income side of your books. On Schedule C, gross receipts less returns and less cost of goods sold gives gross profit on line 5 ("Gross profit. Subtract line 4 from line 3") [1]. Divide that gross profit by receipts and you have your gross margin for the year. Divide it by cost of goods sold and you have the average markup you actually achieved.

The conversion table

The table converts in both directions. Find the number you know and read across.

MarkupMargin
5%4.8%
10%9.1%
15%13.0%
20%16.7%
25%20.0%
30%23.1%
35%25.9%
40%28.6%
45%31.0%
50%33.3%
55%35.5%
60%37.5%
65%39.4%
70%41.2%
75%42.9%
80%44.4%
85%45.9%
90%47.4%
95%48.7%
100%50.0%

MARKUP TO MARGIN · MARGIN = MARKUP ÷ (1 + MARKUP)

Two rows deserve a second look. A 10% markup is a 9.1% margin, so small markups barely move. A 100% markup, which sounds enormous, is a 50% margin: doubling the cost gives half the price to profit and half to cost, never more.

What a 20% markup really leaves you

Take the default job in our bid price calculator: $40,880 of total cost, meaning direct costs plus the overhead the job has to carry [4]. These are illustrative figures, chosen to show the arithmetic.

20% markup20% margin
Total cost$40,880$40,880
Formula for pricecost × 1.20cost ÷ 0.80
Bid price$49,056$51,100
Profit$8,176$10,220
Profit as a share of price16.7%20.0%

Both bids started from the same number and the same "20%". The markup bid leaves $2,044 on the table against the margin bid, and reports a 16.7% margin at the end of the job. On a year of $2,000,000 in sales the same slip is about $67,000 of profit priced away before the first shovel goes in, because 16.7% of $2,000,000 is $333,333 while 20% is $400,000.

Nothing about the job changed. Only the base of the percentage did.

How to set a markup from a target margin

Decide the margin you need, then compute the markup that delivers it. The formula is markup = margin ÷ (1 − margin) [4].

Target marginMarkup to applyPrice per $1,000 of cost
10%11.1%$1,111
15%17.6%$1,176
20%25.0%$1,250
25%33.3%$1,333
30%42.9%$1,429
40%66.7%$1,667
50%100.0%$2,000

If your estimating software only takes a markup, this table is the bridge: enter the markup in the right-hand column and the bid will carry the margin in the left-hand column. If it takes a margin, enter the margin directly and let it divide.

The cleanest habit is to price by division. price = cost ÷ (1 − margin) gives you the margin you asked for every time; price = cost × (1 + markup) gives you a smaller margin than the number you typed, every time.

What the percentage has to cover

Markup and margin are only as honest as the cost underneath them. Two definitions from federal small-business guidance keep that cost complete.

Fixed costs. The SBA defines fixed costs as "costs incurred during a specific period of time that do not change with the increase or decrease in production or services", and lists "rental lease payments, salaries, property taxes, insurance, interest, and depreciation" as examples [3]. A job that is marked up only on its direct costs (labor, materials, subs, equipment) has to pay its share of those fixed costs out of the "profit", which is why a 20% markup on direct cost can end the year as a loss.

Gross profit is not net profit. The IRS instructions describe Part II of Schedule C in one sentence: "Deduct from gross income the ordinary and necessary expenses of operating your business to determine your net profit or loss on line 31" [2]. Gross profit (line 5) is what your markup produced; net profit (line 31) is what is left after overhead [1]. A target margin should be set with line 31 in mind, not line 5.

Our bid price calculator makes overhead an explicit percentage on top of direct costs before it applies the margin, so the base is the full cost of doing the job.

Common mistakes

Frequently asked questions

Is markup or margin better for pricing a construction job?

Margin, because it is measured against the price you collect. Set the margin you need, then price by division: cost ÷ (1 − margin). A markup can be used, but only after converting it from the margin you want, or the bid comes in short.

What margin do contractors typically make?

We do not publish a typical margin. No official source states one, and any figure would depend on trade, region and overhead. Set yours from your own overhead and the profit you need; the bid price calculator shows what each margin does to a real bid.

Does markup include overhead?

Only if you put overhead into the cost first. A markup applied to direct costs alone leaves overhead to be paid out of the profit. Add overhead to the cost base, then apply the markup or the margin.

How do I convert markup to margin quickly?

Divide the markup by one plus the markup: 25% ÷ 1.25 = 20%. To go the other way, divide the margin by one minus the margin: 20% ÷ 0.80 = 25%. The conversion table above covers every common value.

Sources

  1. Internal Revenue Service: Schedule C (Form 1040), Profit or Loss From Business (2025) (retrieved 2026-09-23)
  2. Internal Revenue Service: Instructions for Schedule C (Form 1040) (2025) (retrieved 2026-09-23)
  3. U.S. Small Business Administration: Calculate your startup costs (retrieved 2026-09-23)
  4. Framing & Figures: Methodology: how the calculators and worked examples are built (retrieved 2026-09-23)