General Contractor Markup Percentage: What's Standard, and When to Charge More
There is no single number that qualifies as "the standard" general contractor markup, and any page that hands you one flat percentage without a source is guessing. Here's what the actual data shows: CFMA's Construction Financial Benchmarker put average net income before taxes at 6.3% of revenue for 2023, rising to 6.7% in the 2025 edition covering 2024. Separately, Buildertrend's 2023 State of the Residential Construction Industry report found that more than 30% of builders mark up projects by 25% or more. Those two numbers aren't contradicting each other. They're measuring two different things: what a job gets marked up at the bid, versus what's left in the bank after every overhead dollar clears. Which percentage you should actually charge depends on which of those two questions you're solving for, and how much risk the job in front of you is carrying.
Markup vs. Margin: The Distinction That Makes "Standard" Meaningless on Its Own
Markup is the percentage added on top of a job's direct cost to set the price. Margin is the percentage of that final price that's actually profit. They describe the same dollars, but they're never the same number, and confusing the two is the single most common way a general contractor underprices a job without noticing.
A 25% markup on a $100,000 direct cost produces a $125,000 price. The $25,000 of profit is 20% of that $125,000 price, not 25%. Go the other direction and the gap gets worse: hitting a true 25% margin on that same $100,000 cost requires a $133,333 price, which is a 33.3% markup, not 25%. The formula is price = cost ÷ (1 − margin), and it's the same math whether the job is a kitchen remodel or an electrical service upgrade.
This is why a benchmark quoted as a "margin" and one quoted as a "markup" look wildly different even when they describe similar profitability. CFMA's 2024 Benchmarker found that Best-in-Class contractors (the top 25% of respondents by performance) ran a 21.8% gross profit margin. Converted to the markup number a contractor would actually apply at the bid, using the same price ÷ cost formula above, that's roughly 27.9% markup on direct job cost. Quoted as "21.8%" without making that conversion, the number reads lower than the markup a contractor would actually need to bid.
What CFMA and NAHB Data Actually Show
CFMA's Construction Financial Benchmarker is the closest thing the industry has to an audited baseline, built from financial statements submitted by over a thousand construction companies each year rather than a self-reported survey. A few figures from it, reported by year:
| Metric | 2023 (2024 Benchmarker) | 2024 (2025 Benchmarker) |
|---|---|---|
| Net income before taxes, all respondents | 6.3% of revenue | 6.7% of revenue |
| Net income before taxes, Best-in-Class (top 25%) | 11.9% of revenue | not separately reported here |
| Gross profit margin, Best-in-Class | 21.8% of revenue | not separately reported here |
| SG&A, all respondents | 11.8% of revenue | not separately reported here |
| Pre-2020 five-year average, net income before taxes | 4.7% of revenue | 4.7% of revenue |
Trade press coverage of the same 2024 Benchmarker also put specialty trade subcontractors' net margin at 6.9%, a touch above the overall respondent average, which tracks with the added coordination markup general/prime contractors typically layer on top of their own self-performed work.
NAHB's Cost of Constructing a Home survey is the other commonly cited figure, and it reported builder profit at 11.0% of the home's sale price in its 2024 edition. That number looks close to CFMA's Best-in-Class net margin, but the two aren't measuring the same thing: NAHB's figure includes profit on the finished lot and land value baked into a new home's sale price, which a remodeling or renovation contractor working on an existing structure never collects. Treat the NAHB number as a new-construction homebuilder benchmark, not a general renovation contractor one.
None of these figures is the one authoritative general contractor markup percentage. There isn't one. What they do establish is a real range: net profit that clears the whole business's books lands in the mid single digits for the average contractor and low double digits for top performers, a smaller number than the markup percentage applied line by line at bid time. The gap between the two is overhead, and it's usually bigger than contractors budget for.
Why the Bid Markup Has to Be Bigger Than the Net Margin
Here's where a lot of pricing goes wrong: a contractor sees "I should net around 8%" and marks the job up 8%, then wonders at year-end why there's nothing left. The bid markup has to cover overhead first, and only what's left after overhead clears counts toward net profit.
Take a $38,000 direct-cost job (labor, materials, and subcontractors, no markup applied yet). If overhead runs 12% of the final price and the target net profit is 8% of the final price, that's 20% of the price that has to sit on top of direct cost before a dollar of it is "kept."
- Price = direct cost ÷ (1 − combined margin) = $38,000 ÷ (1 − 0.20) = $47,500
- Markup on direct cost = ($47,500 − $38,000) ÷ $38,000 = 25%
- Of that $9,500 built into the price, $4,560 goes to overhead (12% of $47,500) and $3,800 is the actual 8% net profit
A 25% markup on that job produces an 8% net margin, not a 25% one, because overhead ate more than half of what the markup added. This is exactly the mechanism CFMA's data captures at scale: gross margins in the low-to-mid twenties across the industry compress down to net margins in the mid single digits once payroll, insurance, vehicles, office costs, and everything else that doesn't show up on a job-cost sheet gets paid.
Typical Markup Ranges by Cost Category
Contractors rarely apply one flat markup across the whole job. Materials, labor, and subcontracted work each carry different risk and coordination burden, so construction-software vendors and industry commentary that publish markup guidance generally split it out:
- Labor markup commonly runs 25% or higher, to cover payroll taxes, workers' comp, supervision time, and the downtime between billable hours that a straight wage doesn't account for.
- Material markup is usually quoted in a wider 30% to 50% band, covering procurement time, price volatility between order and delivery, storage, and waste.
- Subcontractor markup is usually smaller and framed as a coordination fee rather than a profit line, since the sub already has profit built into their own quote and the general contractor's markup covers scheduling, supervision, and the risk of standing behind someone else's work.
- Overhead-and-profit markup, applied on the total job cost after labor, materials, and subs are added up, is the layer that actually funds the office, insurance, and net profit shown in the CFMA figures above.
These category splits aren't tied to a single audited survey the way the CFMA figures are, so treat them as common industry practice rather than a hard rule. What each general contractor's split should actually be depends on their own overhead structure, which is exactly the calculation the worked example above walks through.
When to Charge More Than Your Standard Markup
A markup that works on a straightforward job can quietly lose money on a harder one if it doesn't move to match the added risk. The scenarios that reliably justify pushing markup above your baseline:
- Technical complexity or specialized skill. A job requiring licensed trades beyond standard scope, unusual structural work, or equipment the crew doesn't own outright carries more execution risk than a standard job, and the markup should reflect that.
- Elevated safety or code risk. Work at height, hazardous material handling, or anything with heightened liability exposure justifies pricing in the added insurance and precaution cost, not absorbing it.
- Open-ended or poorly defined scope. A renovation where the existing conditions aren't fully known, or a client relationship that has a history of scope creep, carries change-order risk that a flat markup on the known scope doesn't price in.
- Compressed or rush timelines. Overtime labor, expedited material shipping, and pulling crews off other jobs to hit a deadline all cost more than the standard schedule assumes.
- Difficult site access or logistics. Tight urban lots, no on-site parking, high-rise material staging, or long hauls to a remote site all add real cost that a standard-site markup doesn't cover.
- Slow-paying or high-risk clients. A client with a documented history of payment disputes, or a distressed property with unclear title or financing, carries collection risk that belongs in the price.
- Low competition or seasonal surge demand. When a specialty or a busy season means the contractor isn't competing against three other bids, there's less reason to price at the thin end of the range.
The reverse also holds. A well-documented scope, a repeat client with a clean payment history, a highly competitive bid market, or a slow season where keeping a crew utilized matters more than maximizing this job's margin are all reasons a contractor might hold markup at or below their usual baseline rather than push it.
Talking to Clients About Markup
Markup disputes are usually a communication failure, not a pricing one. Setting expectations at the proposal stage, itemizing what the markup covers rather than presenting it as an unexplained line, and explaining the reason behind any mid-project change (a material price spike, a scope addition) before the invoice arrives all reduce the friction that turns a fair markup into a fought-over one. A client who understands that markup pays for supervision, insurance, and the risk the contractor is carrying, not just a number tacked onto the invoice, is far less likely to push back on it.
Getting the Math Right, Every Time
Converting between a target margin and the markup that actually produces it, the way the worked example above did by hand, is exactly the kind of arithmetic that's easy to get backwards under deadline pressure. Our markup and margin calculator for contractors does that conversion instantly in either direction: enter a cost and a markup to see the resulting margin, or enter a target margin to see the markup you actually need to hit it, so a job never gets priced on a number that quietly means something different from what was intended.
If you're an electrician pricing your own labor specifically, our electrical job pricing calculator goes a layer deeper: it builds a fully burdened hourly rate from published BLS wage data for electricians, then adds materials, overhead, and target margin to print a line-itemed estimate. That tool's wage data is specific to the electrical trade and isn't a substitute for the general markup-and-margin math above if you work in a different trade.
Frequently Asked Questions
What is a good markup percentage for a general contractor?
There's no single correct answer, but the CFMA and NAHB data above give a real range to work from. If the goal is a net profit in the 6% to 12% range that CFMA's Benchmarker shows the average-to-top-performing contractor actually keeps, the markup on direct job cost needs to run well above that, typically in the 20% to 35% range, because overhead absorbs a large share of the markup before it becomes net profit. The exact number for any given contractor depends on that contractor's own overhead load, which is a business-specific calculation, not a fixed industry rule.
Is 10% markup enough for a general contractor?
For most self-performing general contractors, no. A 10% markup on direct cost, run through the same math as the worked example above, leaves very little room to cover overhead once payroll, insurance, and office costs are paid, and CFMA's data shows the average contractor's net margin sitting well above what a 10% markup alone would produce after overhead. A 10% figure is more often treated as a coordination fee layered on top of a subcontractor's own quote, where the sub's price already includes their profit, rather than as a general contractor's full markup on self-performed work.
What's the difference between markup and margin?
Markup is the percentage added to a job's direct cost to set the selling price. Margin is the percentage of that selling price that's actual profit. A 25% markup on a $100,000 cost sets a $125,000 price, and the $25,000 of profit works out to a 20% margin, not 25%. The two numbers only match at 0%; every markup above zero corresponds to a smaller margin percentage.
Should I mark up subcontractors the same as my own labor?
Not usually. A subcontractor's quote already includes their own profit and overhead, so the general contractor's markup on top is more commonly framed as a coordination and supervision fee rather than a second full profit layer, and it typically runs smaller than the markup applied to labor and materials the contractor is directly managing and staffing.
How much extra should I charge for a rush job or a high-risk project?
There's no fixed percentage for this, and any page claiming one is making it up. The right approach is to price in the actual added cost, overtime labor, expedited shipping, added insurance, or the schedule risk of pulling a crew off another job, rather than applying an arbitrary rush surcharge. The scenarios listed above (complexity, safety risk, open scope, compressed timeline, difficult access, high-risk client, low competition) are the signals that the added cost is real and belongs in the price.