House cleaning price estimator for cleaning businesses
Price a cleaning job from the home, your hourly rate, crew and drive time. You get cleaner-hours, time on site and a price range for the first visit and each repeat visit.
Example values are filled in. Replace them with your own job.
How it works
The estimator works out the hours first, then the price. It times the floor area, bathrooms and bedrooms, then adjusts for condition, clean type and add-ons. Those hours are priced at your rate, and drive time, mileage and your minimum are added to give an estimate and a range you can quote.
How we calculate it
These steps match the lines in the "Show your work" panel, in the same order. Nothing is rounded until the final display.
- Floor area, Bathrooms, Bedrooms. Square feet ÷ floor-area rate (sq ft per cleaner-hour). Add bathrooms × minutes per bathroom and bedrooms × minutes per bedroom, converted to hours.
- Condition and Clean type. Multiply by the condition multiplier, then the clean-type multiplier. For a first visit, use the larger of the clean-type multiplier and the first-visit multiplier, so a first deep clean is not counted twice. The result is the Cleaning time.
- Add-ons. Quantity × minutes each ÷ 60, for each add-on. With "first visit only", repeat visits get none.
- Crew factor and Job cleaner-hours. (Cleaning time + add-on hours) × crew factor. The crew factor applies only to a crew of 2 or more.
- Time on site. Job cleaner-hours ÷ crew size, rounded to the nearest 5 minutes. Two cleaners working 2 hours is 4 cleaner-hours.
- Labor. Job cleaner-hours × your billed rate per cleaner-hour.
- Frequency. Labor × (1 + the price change for the frequency). It applies to repeat and one-time visits, never to the first visit, and never to drive or flat charges.
- Drive time and Mileage. Drive minutes ÷ 60 × crew × drive charge per cleaner-hour, plus miles × mileage cost. In "absorb" mode both are shown but left out of the price.
- Flat charges and Subtotal. Labor after the frequency change + drive + flat charges.
- Minimum and Estimate. The estimate is the subtotal or your minimum charge, whichever is higher.
- Range. Estimate minus the low % and plus the high %, each rounded to the nearest $5. The low end never drops below your minimum.
- Effective rate. Estimate ÷ (job cleaner-hours + drive cleaner-hours). This is what you earn per paid hour.
The cards and the optional margin check add three more figures:
- Per month. Weekly × 52 ÷ 12, every 2 weeks × 26 ÷ 12, monthly × 1. "Monthly" means once a calendar month. Billing every 4 weeks is 13 visits a year, about 8% more (× 13 ÷ 12).
- Margin check. Job cost = paid hours × pay × (1 + payroll burden) + supplies + vehicle cost. Margin = (price − cost) ÷ price. Price for a target margin = cost ÷ (1 − target).
- Tax. Estimate × your sales-tax rate.
Worked example (the page defaults). 1,800 sq ft ÷ 600 = 3.00 h. Two bathrooms × 30 min and three bedrooms × 10 min add 1.50 h. Average condition and a standard clean leave 4.50 cleaner-hours, or 2 h 15 min on site for 2 cleaners. 4.50 × $50 = $225.00, less 5% for every 2 weeks = $213.75. Drive adds $33.33 (20 min × 2 cleaners × $50/h) and mileage $7.60 (10 mi × $0.76). Subtotal $254.68, above the $125 minimum. Estimate $255, range $230-$295.
Hourly, per square foot or flat rate?
- Hourly. You charge per cleaner-hour. It protects you on messy homes, but the client cannot see the total up front.
- Per square foot. Quick to quote, but it misses bathrooms, bedrooms, pets and clutter.
- Flat rate. One price per visit. Clients like it, but you carry the risk when a job runs long.
This tool gives you a flat price built from hours, so the hourly math behind the quote stays visible. To use a plain sq-ft rate, set bathroom and bedroom minutes to 0 under Assumptions. Once the price is set, turn it into a written estimate. After the job, send the client a direct Google review link.
Default assumptions and sources
Defaults as of October 2026. Home size, rooms and add-ons are example values.
| Setting | Default | Source |
|---|---|---|
| Your billed rate per cleaner-hour | $50 per cleaner-hour | Published $40-65 [P4] |
| Crew size | 2 cleaners | |
| Drive time charged to this job | 20 minutes | |
| Miles charged to this job | 10 miles | |
| Minimum charge per visit | $125 | Published $100-150 [P5] |
| Sales tax on cleaning services (if your state taxes them) | 0 % | |
| Floor-area cleaning rate (bathrooms and bedrooms timed separately below) | 600 sq ft per cleaner-hour | Range: 400-600 published [P1, P6] |
| Time per bathroom | 30 min per bathroom | Our assumption, checked against reported job times [A, P6] |
| Time per bedroom | 10 min per bedroom | Our assumption, checked against reported job times [A, P6] |
| Condition multiplier: light | 0.90 × | Our assumption [A] |
| Condition multiplier: average | 1.00 × | Our assumption [A] |
| Condition multiplier: heavy | 1.30 × | Our assumption [A] |
| Condition multiplier: extreme | 1.60 × | Our assumption [A] |
| Clean type multiplier: standard | 1.00 × | Baseline |
| Clean type multiplier: deep | 1.75 × | Published 1.5-2x [P2] |
| Clean type multiplier: move-in / move-out | 2.00 × | Published 2-3x [P2] |
| First visit takes this many times longer than a standard visit | 1.50 × | Published 1.5-3x [P2] |
| Crew factor: extra time when 2 or more cleaners share a job | 1.00 × | Our assumption [A] |
| Price change for one-time jobs: negative is a discount, positive is a premium | 0 % | Published spread [P3] |
| Price change for weekly visits: negative is a discount, positive is a premium | -10 % | Published −10% to −25% [P3] |
| Price change for visits every 2 weeks: negative is a discount, positive is a premium | -5 % | Published −5% to −20% [P3] |
| Price change for monthly visits: negative is a discount, positive is a premium | 0 % | Published −10% to +50% [P3] |
| Inside oven | 45 min per oven | Our assumption [A] |
| Inside fridge | 30 min per fridge | Our assumption [A] |
| Inside kitchen cabinets | 45 min per kitchen | Our assumption [A] |
| Interior windows | 5 min per pane | Our assumption [A] |
| Blinds | 10 min per blind | Our assumption [A] |
| Baseboards | 10 min per room | Our assumption [A] |
| Laundry | 20 min per load (hands-on) | Our assumption [A] |
| Heavy pet hair | 30 min per visit | Our assumption [A] |
| Drive time charge per cleaner-hour | same as your billed rate per cleaner-hour | Follows your billed rate until edited |
| Mileage cost | $0.760 per mile | IRS 2026 rate [S2] |
| Range: below the estimate | 10 % | Our assumption [A] |
| Range: above the estimate | 15 % | Our assumption [A] |
| Cleaner pay per hour | $17.07 per hour | BLS median, May 2025 [S1] |
| Payroll burden | 15 % | Federal 8.25% plus our allowance [S4, A] |
| Supplies per visit | $10 per visit | Our assumption [A] |
| Target job margin (before overhead) | 50 % | Our assumption [A, S6] |
Costs most new owners miss
- Drive time and mileage between jobs
- Supplies and equipment wear
- Time spent quoting, scheduling and invoicing
- Payroll taxes, state unemployment tax and workers' comp
- Insurance and bonding
- Paid time off
Sources
- S1: BLS Occupational Employment and Wage Statistics, SOC 37-2012 Maids and Housekeeping Cleaners, May 2025
- S2: IRS standard mileage rates, 2026 (Announcement 2026-11, IRB 2026-29)
- S3: 29 CFR 785.38, travel that is all in the day's work (eCFR)
- S4: IRS Publication 15 (Circular E), 2026
- S5: BLS producer price index, residential cleaning services (FRED PCU56172056172052)
- S6: ARCSI/ISSA Residential Cleaning Benchmarking Study, 2022 (public summary)
- P1: Production rates: ZenMaid, ShiftFlow and Queen of Maids pages, read 2026-10-14
- P2: Deep, move-out and first-visit times: r/CleaningBusiness threads, read 2026-10-14
- P3: Frequency pricing published by ZenMaid, ShiftFlow and Shifton, read 2026-10-14
- P4: Billed rate per cleaner-hour: ShiftFlow, ZenMaid, r/CleaningBusiness, read 2026-10-14
- P5: Minimum job: ZenMaid, read 2026-10-14
- P6: Reported job times, r/CleaningBusiness, 2026-09-19
- A: Our assumption. Edit to your own data.
Questions
How much should I charge to clean a house?
Work out the hours first, then multiply by your rate per cleaner-hour. Published rates run about $40-65 per cleaner-hour, depending on the city. A 1,800 sq ft, 3-bed, 2-bath home takes about 4.5 cleaner-hours for a maintenance clean with this tool's defaults. At $50 an hour, with 20 minutes of drive and a 5% every-2-weeks discount, that comes to about $255 a visit. Set a minimum charge and quote a range until you have done the first visit.
How much more should a first or deep clean cost?
Owners report first cleans taking 1.5 to 3 times as long as a maintenance clean. Vendors put deep cleans at 1.5 to 2 times and move-outs at 2 to 3 times. This tool uses 1.5x for a first visit, 1.75x for deep and 2x for move-out. A first deep clean uses the larger of the two, not both. Change the multipliers once you have timed a few of your own jobs.
Should I charge for drive time?
Your employees are paid for it. Travel from job to job during the workday counts as hours worked under federal rules (29 CFR 785.38). Mileage costs about 76 cents a mile at the IRS business rate from July 1, 2026. You can add drive to the price or absorb it in a higher hourly rate. Either way, check the effective rate line to see what you earn per hour once drive is counted.
Should I show instant prices on my website?
Many owners show a range and confirm it on a walkthrough or video call. Square footage never tells the whole story: pets, clutter and time since the last clean all change the hours. Use this tool for your internal number and the range you quote. Prices for residential cleaning services keep rising (BLS producer price index), so review your rate every year.
What frequency discount is normal?
Published discounts run 10% to 25% off for weekly visits and 5% to 20% off for every two weeks. Some owners charge more, not less, for monthly cleans because more dirt builds up between visits. The defaults here are 10% off weekly, 5% off every two weeks and no change for monthly. The discount applies to the cleaning labor only, not to drive or flat charges.