{
  "id": "paint-calculator",
  "version": "20.13.0",
  "name": "Paint Calculator",
  "shortName": "Paint",
  "description": "Estimate paint quantity from wall area, openings, coats, coverage, and waste allowance. Add editable USD material and labor prices and compare low, middle and high budget scenarios.",
  "category": "Home & Construction",
  "categorySlug": "home-construction",
  "keywords": [
    "paint",
    "calculator",
    "paint calculator"
  ],
  "status": "live",
  "workStatus": "pending",
  "reviewStatus": "pending",
  "migrationStatus": "migrated",
  "migratedDate": "2026-09-10",
  "engine": "native",
  "creator": null,
  "reviewer": null,
  "quality": {
    "availability": "live",
    "technicalReviewRecord": "/reviews/paint-calculator.json",
    "qualifiedReview": "pending",
    "qualifiedReviewer": null,
    "qualifiedReviewDate": null,
    "formulaVersion": "20.13.0",
    "referenceCoverage": "references-listed",
    "releaseTestScope": "Catalog and regression checks are not a professional formula audit; consult release evidence.",
    "historicalMetadataDate": "2026-09-01",
    "historicalMetadataNotice": "The imported date is not evidence of a completed human review."
  },
  "notice": "Planning quantities and user-entered USD costs, not a contractor quote, structural design or code approval. Default prices are zero (unpriced); enter your supplier and labor quotes. New changes await independent review.",
  "urls": {
    "page": "/us/paint/",
    "definition": "/us/paint/definition.json",
    "schema": "/us/paint/schema.json",
    "llms": "/us/paint/llms.txt",
    "legacyDefinition": "/us/paint/definition.json"
  },
  "queryExample": "https://askcalculators.com/us/paint/?roomLength=15&roomWidth=12&wallHeight=8&openingsArea=40&coats=2&coverage=350&wastePercent=10&unitCost=45&laborCost=300&deliveryCost=0&costSpreadPercent=15",
  "queryParameters": {
    "unitSystem": {
      "label": "Dimension units",
      "type": "select",
      "required": false,
      "default": "imperial"
    },
    "roomLength": {
      "label": "Room length (ft / m)",
      "type": "number",
      "required": true,
      "default": 15
    },
    "roomWidth": {
      "label": "Room width (ft / m)",
      "type": "number",
      "required": true,
      "default": 12
    },
    "wallHeight": {
      "label": "Wall height (ft / m)",
      "type": "number",
      "required": true,
      "default": 8
    },
    "openingsArea": {
      "label": "Openings (ft² / m²)",
      "type": "number",
      "required": true,
      "default": 40
    },
    "coats": {
      "label": "Number of coats",
      "type": "number",
      "required": true,
      "default": 2
    },
    "coverage": {
      "label": "Coverage per gallon (ft²)",
      "type": "number",
      "required": true,
      "default": 350
    },
    "wastePercent": {
      "label": "Waste allowance",
      "type": "number",
      "required": true,
      "default": 10
    },
    "unitCost": {
      "label": "Material price (USD / US gallon)",
      "type": "money",
      "required": false,
      "default": 0
    },
    "laborCost": {
      "label": "Total labor allowance (USD)",
      "type": "money",
      "required": false,
      "default": 0
    },
    "deliveryCost": {
      "label": "Delivery allowance (USD)",
      "type": "money",
      "required": false,
      "default": 0
    },
    "costSpreadPercent": {
      "label": "Low/high variation around entered subtotal (%)",
      "type": "percent",
      "required": false,
      "default": 15
    }
  },
  "inputs": [
    {
      "id": "unitSystem",
      "label": "Dimension units",
      "type": "select",
      "defaultValue": "imperial",
      "options": [
        {
          "label": "US customary (ft, in)",
          "value": "imperial"
        },
        {
          "label": "Metric (m, cm)",
          "value": "metric"
        }
      ],
      "help": "Changing this selector converts dimensions already entered. Prices keep the purchasing unit printed beside each price."
    },
    {
      "id": "roomLength",
      "label": "Room length (ft / m)",
      "type": "number",
      "required": true,
      "defaultValue": 15,
      "min": 0,
      "step": 0.01
    },
    {
      "id": "roomWidth",
      "label": "Room width (ft / m)",
      "type": "number",
      "required": true,
      "defaultValue": 12,
      "min": 0,
      "step": 0.01
    },
    {
      "id": "wallHeight",
      "label": "Wall height (ft / m)",
      "type": "number",
      "required": true,
      "defaultValue": 8,
      "min": 0,
      "step": 0.01
    },
    {
      "id": "openingsArea",
      "label": "Openings (ft² / m²)",
      "type": "number",
      "required": true,
      "defaultValue": 40,
      "min": 0,
      "step": 0.01
    },
    {
      "id": "coats",
      "label": "Number of coats",
      "type": "number",
      "required": true,
      "defaultValue": 2,
      "min": 1,
      "step": 1
    },
    {
      "id": "coverage",
      "label": "Coverage per gallon (ft²)",
      "type": "number",
      "required": true,
      "defaultValue": 350,
      "min": 0.000001,
      "step": 1
    },
    {
      "id": "wastePercent",
      "label": "Waste allowance",
      "type": "number",
      "required": true,
      "defaultValue": 10,
      "min": 0,
      "max": 100,
      "step": 0.1,
      "suffix": "%"
    },
    {
      "id": "unitCost",
      "label": "Material price (USD / US gallon)",
      "type": "money",
      "defaultValue": 0,
      "min": 0,
      "step": 0.01,
      "help": "Zero means unpriced. Use a current supplier quote; do not treat zero as free."
    },
    {
      "id": "laborCost",
      "label": "Total labor allowance (USD)",
      "type": "money",
      "defaultValue": 0,
      "min": 0,
      "step": 0.01
    },
    {
      "id": "deliveryCost",
      "label": "Delivery allowance (USD)",
      "type": "money",
      "defaultValue": 0,
      "min": 0,
      "step": 0.01
    },
    {
      "id": "costSpreadPercent",
      "label": "Low/high variation around entered subtotal (%)",
      "type": "percent",
      "defaultValue": 15,
      "min": 0,
      "max": 100,
      "step": 1,
      "help": "A user-adjustable planning scenario, not a researched local price range."
    }
  ],
  "outputs": [
    {
      "id": "gallons",
      "label": "Paint required (gallons)",
      "format": "number",
      "primary": true,
      "digits": 2
    },
    {
      "id": "gallonsToBuy",
      "label": "Whole gallons to buy",
      "format": "integer"
    },
    {
      "id": "paintArea",
      "label": "Coated area (ft²)",
      "format": "number",
      "digits": 2
    },
    {
      "id": "netWallArea",
      "label": "Net wall area (ft²)",
      "format": "number",
      "digits": 2
    },
    {
      "id": "litres",
      "label": "Exact paint need (litres)",
      "format": "number",
      "digits": 3
    },
    {
      "id": "materialCost",
      "label": "Material cost",
      "format": "currency",
      "currency": "USD"
    },
    {
      "id": "laborCost",
      "label": "Labor allowance",
      "format": "currency",
      "currency": "USD"
    },
    {
      "id": "deliveryCost",
      "label": "Delivery allowance",
      "format": "currency",
      "currency": "USD"
    },
    {
      "id": "unitRate",
      "label": "Entered USD rate / US gallon",
      "format": "currency",
      "currency": "USD"
    },
    {
      "id": "estimatedTotal",
      "label": "Entered subtotal",
      "format": "currency",
      "currency": "USD"
    },
    {
      "id": "costLow",
      "label": "Low budget scenario",
      "format": "currency",
      "currency": "USD"
    },
    {
      "id": "costMid",
      "label": "Middle budget scenario",
      "format": "currency",
      "currency": "USD"
    },
    {
      "id": "costHigh",
      "label": "High budget scenario",
      "format": "currency",
      "currency": "USD"
    },
    {
      "id": "pricingStatus",
      "label": "Pricing status",
      "format": "text"
    }
  ],
  "formula": {
    "expression": "paint = [perimeter × height − openings] × coats × (1 + waste%) ÷ coverage; material = unrounded purchase quantity × entered unit price; middle = material + labor + delivery; low/high = middle × (1 ∓ variation/100)"
  },
  "examples": [
    {
      "label": "Illustrative USD purchasing scenario",
      "inputs": {
        "roomLength": 15,
        "roomWidth": 12,
        "wallHeight": 8,
        "openingsArea": 40,
        "coats": 2,
        "coverage": 350,
        "wastePercent": 10,
        "unitCost": 45,
        "laborCost": 300,
        "deliveryCost": 0,
        "costSpreadPercent": 15
      }
    }
  ],
  "sources": [
    {
      "label": "NIST SI conversion factors — accessed 10 September 2026",
      "url": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors"
    },
    {
      "label": "NIST international-foot guidance — accessed 10 September 2026",
      "url": "https://www.nist.gov/pml/us-surveyfoot"
    }
  ],
  "publicSlug": "paint",
  "namespace": "us",
  "countries": [
    "us"
  ]
}
