To calculate commercial cleaning rates, start from your costs: the labor hours a building takes, your burdened labor rate, supplies, overhead, and margin. Divide the resulting price by square footage and you have a rate you can compare against the market. Rates you find online skip that step. They rarely say which wage, which building type, or which frequency they assume, so they can't tell you whether your number is right.
I've run margins at ProCleanings and Verdant, and the question I hear most from other owners is whether the price they're already charging is any good. Published rate tables can't answer that. So below is a rate table built the other way around: every input shown, starting from Bureau of Labor Statistics wage data, so you can swap in your own numbers and see where you stand.
A rate's only meaningful if you know the inputs behind it. Use the modeled rates below as a benchmark, then replace each assumption with your own numbers.
Why are published cleaning rates almost always wrong?
Published cleaning rates are usually wrong for your business because they hide their inputs: they mix residential and commercial work, rely on old surveys, and ignore the local wages, building types, and overhead that actually set your price.
Search "what are standard commercial cleaning rates" and you'll find tables with no wage, no frequency, and no building type attached. Some quietly include residential jobs, which don't price anything like commercial work. Others are years old. That's not a small problem. And none of them knows your labor market; they can't. The Bureau of Labor Statistics publishes wage data by metro area precisely because cleaning wages vary so much from one city to the next, and labor is most of what a cleaning contract costs. A rate that's healthy in one metro can lose money in another.
What are commercial cleaning rates by building type?
Modeled from the BLS median wage and typical production rates, commercial cleaning rates run roughly 8 to 12 cents per square foot per month for warehouses, 19 to 27 cents for standard offices, and 38 to 56 cents for medical space, at five visits a week where noted. The table shows each building type and the assumptions behind it.
| Building type | Planning production rate (sq ft/hr) | Typical size (sq ft) | Visits/week | Modeled rate per sq ft per month | Modeled monthly range |
|---|---|---|---|---|---|
| Office (standard) | 2,500–3,500 | 10,000–30,000 | 5 | $0.19–$0.27 | $1,900–$8,100 |
| Medical / clinic | 1,200–1,800 | 3,000–10,000 | 5 | $0.38–$0.56 | $1,100–$5,600 |
| Industrial / warehouse | 3,500–5,000 | 20,000–60,000 | 3 | $0.08–$0.12 | $1,600–$6,900 |
| Retail | 2,000–3,000 | 5,000–20,000 | 7 | $0.32–$0.47 | $1,600–$9,500 |
| School | 2,000–2,800 | 30,000–80,000 | 5 | $0.24–$0.34 | $7,200–$27,000 |
| Government office | 2,200–3,200 | 10,000–40,000 | 5 | $0.21–$0.31 | $2,100–$12,300 |
How these were modeled: wage of $17.56 an hour, the national median for building cleaning workers (BLS OEWS, May 2025); a 1.25 burden multiplier for payroll taxes, workers' comp, and unemployment insurance, for a true labor cost of $21.95 an hour; supplies at 5% of labor; overhead at 15%; and a 15% margin, so price equals cost divided by 0.85. The production rates are planning assumptions; they aren't published standards. Replace them with your own crews' timed rates and the table becomes yours.
The bands show what the math produces from a stated wage and stated assumptions, so treat them as a model rather than average commercial cleaning rates. That's their value: when your price sits outside a band, you'll see exactly which input explains the gap.
How do you calculate commercial cleaning rates from your own inputs?
Calculate your rate as labor hours times burdened wage, plus supplies, plus overhead, divided by one minus your target margin; then divide by square footage to get a per-square-foot figure.
Hours first, then cost, then price, and the per-square-foot rate last. Estimate hours from production rates and your walkthrough; the janitorial production rates reference is a starting point. Burden the wage with your real payroll costs from your records. Add supplies and overhead from last year's books. Then divide by one minus your margin. The full method, with a worked example, is in the guide on how to quote a commercial cleaning job.
What doesn't the per-square-foot rate tell you?
A per-square-foot rate hides everything that changes labor hours inside the same footage: restroom count, private offices, specialty floors, travel between buildings, and after-hours access limits. Two buildings at the same rate can earn completely different margins.
Picture two 20,000-square-foot offices, both cleaned five nights a week, both billed at $0.22 per square foot per month, or $4,400. The first one's open-plan, and a crew covers about 3,500 square feet an hour. After burdened labor, supplies, and overhead, it earns a margin of about 25%. The second has a dozen restrooms and a floor of private offices, so the crew covers about 2,500 square feet an hour. Same rate, same footage, and it loses roughly 4% a month. Nothing on the invoice tells you which one's which.
The same goes for specialty floors that need extra care, accounts that need a crew to drive between several small buildings, and sites where security limits when you can work. Each one adds hours the square footage doesn't show, and they're easy to miss. The deeper case is in the guide to cleaning contract pricing per square foot.
How do you check whether your rates are competitive?
Check your rates in two steps: replace the national wage with your metro's wage from BLS and rerun the model, then compare the result against local market signals such as bids you've won and lost.
First, find your area's wage for building cleaning workers in the BLS Occupational Employment and Wage Statistics data and put it into the model in place of $17.56. That alone can move your rate a long way in either direction. Second, set your rate against what the market's telling you: bids you've won and lost, rough feedback from property managers, and the market comparison you get when you run your numbers through the calculator. If you're well above the market, look at your production rates and overhead. If you're well below, look at your burden and margin math before you celebrate being the low bid. Cheap isn't a strategy when you don't know why you're cheap.
Frequently Asked Questions
What is the average commercial cleaning rate per square foot?
There isn't one reliable average, because rates depend on local wages, building type, frequency, and overhead. Modeled from the BLS median wage for building cleaning workers and typical production rates, standard offices cleaned five nights a week come out around 19 to 27 cents per square foot per month, medical space around 38 to 56 cents, and warehouses cleaned three times a week around 8 to 12 cents. Use those as benchmarks, then run your own inputs; they'll tell you more.
How much should I charge for commercial cleaning?
Charge enough to cover your burdened labor cost for the hours the building actually takes, plus supplies, overhead, and the margin you need. Build that price from your own inputs first, then convert it to a per-square-foot rate and compare it with your local market. Matching a competitor's rate without knowing their inputs is how accounts end up losing money.
How do I calculate commercial cleaning rates?
Multiply estimated labor hours per month by your burdened hourly labor cost, add supplies and overhead, and divide by one minus your target margin to get the monthly price. Divide that by the building's square footage for the per-square-foot rate. Replace any planning assumptions with your own measured production rates and payroll costs as soon as you have them.
What are commercial cleaning rates per hour?
If you bill hourly, the rate needs to cover your burdened labor cost plus supplies, overhead, and margin. Using the BLS median wage of $17.56, a 1.25 burden, 5% supplies, 15% overhead, and a 15% margin, that works out to about $31 per labor hour. Your own wage, burden, and overhead will move that number, so calculate it from your books.
Know the inputs behind your rate
A rate with no inputs behind it is a guess, whether it came from a table online or from a competitor. Build yours from hours, burdened wage, overhead, and margin, check it against your metro's wage and your own bid history, and you'll know whether a number on the table is a good deal or a slow loss. ProTeams' proof-of-service records help you hold your rate at renewal. Start your free trial or book a demo.
