{
  "slug": "cleaning-square-foot-pricing",
  "title": "Cleaning Square Foot Pricing Calculator",
  "heading": "House Cleaning Square Footage Pricing Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/cleaning-square-foot-pricing",
  "summary": "Turn square footage, room count, and condition into a defensible cleaning bid.",
  "description": "Flat per-square-foot cleaning rates ignore the fact that a 2,000 sq ft house with 4 bathrooms takes longer than one with 2. This calculator blends a base square-foot rate with per-room adders for bathrooms and kitchens, then applies a condition multiplier for first-clean or deep-clean jobs so recurring and one-time pricing don't get mixed up.",
  "formula": "Base price = sq ft × rate per sq ft. Room adder = bathrooms × bath rate + kitchens × kitchen rate. Price = (base + adder) × condition multiplier.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=cleaning-square-foot-pricing",
  "inputs": [
    {
      "id": "sqft",
      "label": "Home square footage",
      "kind": "number",
      "hint": null,
      "default": 1800,
      "unit": "sq ft",
      "min": 200,
      "max": null
    },
    {
      "id": "rate",
      "label": "Base rate per sq ft",
      "kind": "number",
      "hint": null,
      "default": 0.09,
      "unit": "$",
      "min": 0.02,
      "max": null
    },
    {
      "id": "bathrooms",
      "label": "Bathrooms",
      "kind": "number",
      "hint": null,
      "default": 2,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "bathRate",
      "label": "Price per bathroom",
      "kind": "number",
      "hint": null,
      "default": 20,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "kitchens",
      "label": "Kitchens",
      "kind": "number",
      "hint": null,
      "default": 1,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "kitchenRate",
      "label": "Price per kitchen",
      "kind": "number",
      "hint": null,
      "default": 30,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "condition",
      "label": "Job type",
      "kind": "select",
      "hint": null,
      "default": "1.0",
      "options": [
        {
          "value": "1.0",
          "label": "Standard recurring clean"
        },
        {
          "value": "1.5",
          "label": "First clean / deep clean"
        },
        {
          "value": "2.0",
          "label": "Move-out / heavy buildup"
        }
      ]
    }
  ],
  "outputs": [
    {
      "id": "price",
      "label": "Cleaning price",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "base",
      "label": "Base square-footage price",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "adder",
      "label": "Room adders",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "perSqft",
      "label": "Effective price per sq ft",
      "format": "decimal",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Home square footage: 1800 sq ft",
      "Base rate per sq ft: 0.09 $",
      "Bathrooms: 2",
      "Price per bathroom: 20 $",
      "Kitchens: 1",
      "Price per kitchen: 30 $",
      "Job type: Standard recurring clean"
    ],
    "outputs": [
      "Cleaning price: $232",
      "Base square-footage price: $162",
      "Room adders: $70",
      "Effective price per sq ft: 0.129"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter home square footage (sq ft).",
      "Enter base rate per sq ft ($).",
      "Enter bathrooms.",
      "Enter price per bathroom ($).",
      "Enter kitchens.",
      "Enter price per kitchen ($).",
      "Enter job type.",
      "Read your cleaning price on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "sqft": 1100,
        "rate": 0.09,
        "bathrooms": 1,
        "bathRate": 10,
        "kitchens": 1,
        "kitchenRate": 20,
        "condition": "1.0"
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "sqft": 1800,
        "rate": 0.09,
        "bathrooms": 2,
        "bathRate": 20,
        "kitchens": 1,
        "kitchenRate": 30,
        "condition": "1.0"
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "sqft": 2900,
        "rate": 0.09,
        "bathrooms": 3,
        "bathRate": 30,
        "kitchens": 2,
        "kitchenRate": 50,
        "condition": "1.0"
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "What's a typical per-square-foot rate for house cleaning?",
      "a": "Most residential cleaners charge $0.06-$0.16 per square foot for standard recurring cleans, with higher-cost metro areas and luxury homes running toward the top of that range. Smaller homes need a higher per-square-foot rate because fixed time costs (setup, bathrooms, kitchen) don't shrink proportionally with square footage."
    },
    {
      "q": "Why charge more for first cleans?",
      "a": "A first clean or deep clean typically takes 1.5-2x longer than a maintenance clean because of built-up grime, baseboards, inside appliances, and blinds that recurring visits skip. Pricing the first clean at standard rate is the single biggest reason cleaning businesses underquote and burn out staff in month one of a new contract."
    },
    {
      "q": "Should pricing change for recurring vs one-time customers?",
      "a": "Yes. Recurring customers justify a 10-20% lower rate than one-time cleans because the home stays maintained and take less time cleanup, and because a returning appointment fills a route slot predictably. Use the recurring vs one-time LTV calculator in this set to see the full revenue tradeoff, not just the per-visit price."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/recurring-vs-onetime-ltv",
    "https://www.revenuelab.fyi/toolbox/quote-close-rate-revenue"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Cleaning Square Foot Pricing Calculator (https://www.revenuelab.fyi/toolbox/cleaning-square-foot-pricing)"
}