{
  "id": "paint",
  "version": "ff68a0191a14",
  "status": "published",
  "name": "Paint Calculator",
  "question": "How much paint do I need?",
  "summary": "Computes how many gallons (or litres) of paint a room needs from its size, less doors and windows, with the number of coats, the coverage per gallon and an extra share for waste.",
  "category": "construction",
  "subcategory": "materials",
  "url": "https://www.acalculator.org/construction/paint-calculator",
  "markdown": "https://www.acalculator.org/construction/paint-calculator.md",
  "kind": "function",
  "method": "Area = 2 × (length + width) × height − doors × door area − windows × window area (+ length × width for the ceiling); gallons = area × coats × (1 + extra ÷ 100) ÷ coverage per gallon.",
  "assumptions": [
    "The room is a rectangle with walls of one height; each coat covers the area printed on the can.",
    "Doors and windows are not painted. By default a door is 20 ft² (36 × 80 in) and a window 15 ft² (3 × 5 ft).",
    "Extra for waste is 10% by default, for rough walls, touch-ups and paint left in the tray.",
    "Gallons are US gallons (3.785411784 L)."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "l": {
        "title": "Room length",
        "description": "The length of the room, wall to wall.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "exclusiveMinimum": 0,
        "maximum": 1000
      },
      "w": {
        "title": "Room width",
        "description": "The width of the room, wall to wall.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "exclusiveMinimum": 0,
        "maximum": 1000
      },
      "h": {
        "title": "Wall height",
        "description": "The height of the walls, floor to ceiling.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "exclusiveMinimum": 0,
        "maximum": 1000
      },
      "coats": {
        "title": "Coats",
        "description": "How many coats of paint.",
        "type": "integer",
        "minimum": 1,
        "maximum": 10
      },
      "cov": {
        "title": "Coverage per gallon",
        "description": "The area one US gallon of paint covers in one coat, as printed on the can.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "area",
        "minimum": 0.09290304,
        "maximum": 10000
      },
      "extra": {
        "title": "Extra for waste",
        "description": "Paint to add, in percent, for rough walls, touch-ups and paint left in the tray.",
        "type": "number",
        "x-unit": "percent",
        "minimum": 0,
        "maximum": 100
      },
      "doors": {
        "title": "Doors",
        "description": "How many doors are in the walls (not painted).",
        "type": "integer",
        "minimum": 0,
        "maximum": 100
      },
      "da": {
        "title": "Area of one door",
        "description": "The area of one door: 20 ft² for a 36 × 80 in door.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "area",
        "minimum": 0,
        "maximum": 10000
      },
      "win": {
        "title": "Windows",
        "description": "How many windows are in the walls (not painted).",
        "type": "integer",
        "minimum": 0,
        "maximum": 100
      },
      "wa": {
        "title": "Area of one window",
        "description": "The area of one window: 15 ft² for a 3 × 5 ft window.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "area",
        "minimum": 0,
        "maximum": 10000
      },
      "ceil": {
        "title": "Paint the ceiling too",
        "description": "Whether to add the ceiling (length × width) to the area, with the same paint and coats.",
        "type": "boolean"
      }
    }
  },
  "outputs": {
    "gallons": {
      "label": "Gallons of paint",
      "description": "The paint needed, in US gallons: area × coats × (1 + extra) ÷ coverage.",
      "format": "number"
    },
    "buy": {
      "label": "Gallons to buy",
      "description": "The paint needed rounded up to whole gallons.",
      "format": "integer"
    },
    "liters": {
      "label": "Litres of paint",
      "description": "The paint needed, in litres.",
      "format": "number"
    },
    "squareFeet": {
      "label": "Area to paint, ft²",
      "description": "The wall area less doors and windows, plus the ceiling if chosen, for one coat.",
      "format": "number"
    },
    "squareMeters": {
      "label": "Area to paint, m²",
      "description": "The same area in square metres.",
      "format": "number"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "l": 3.6576000000000004,
      "w": 4.2672,
      "h": 2.4384,
      "coats": 2,
      "cov": 32.516064,
      "extra": 10,
      "doors": 1,
      "da": 1.8580608,
      "win": 2,
      "wa": 1.3935456000000002,
      "ceil": false
    },
    "outputs": {
      "gallons": 2.3005714285714287,
      "buy": 3,
      "liters": 8.708610195648,
      "squareFeet": 366,
      "squareMeters": 34.00251264
    },
    "text": "Paint needed for 366 ft²: 2.3 gal (8.71 L); whole gallons to buy: 3."
  },
  "examples": [
    {
      "given": {
        "l": 3.6576000000000004,
        "w": 4.2672,
        "h": 2.4384,
        "coats": 2,
        "cov": 32.516064,
        "extra": 10,
        "doors": 1,
        "da": 1.8580608,
        "win": 2,
        "wa": 1.3935456000000002,
        "ceil": false
      },
      "expect": {
        "squareFeet": 366,
        "squareMeters": 34.00251264,
        "gallons": 2.3005714285714287,
        "buy": 3,
        "liters": 8.708610195648
      },
      "source": "NIST Handbook 44, Appendix C (1 US gallon = 3.785411784 L, 1 ft = 0.3048 m); hand calculation in content.mdx: 2 × (12 + 14) × 8 − 20 − 30 = 366 ft²; 366 × 2 × 1.1 ÷ 350 = 2.30 gal"
    },
    {
      "given": {
        "l": 3.048,
        "w": 3.048,
        "h": 2.4384,
        "coats": 1,
        "cov": 37.161216,
        "extra": 0,
        "doors": 0,
        "da": 1.8580608,
        "win": 0,
        "wa": 1.3935456000000002,
        "ceil": true
      },
      "expect": {
        "squareFeet": 420,
        "gallons": 1.05,
        "buy": 2
      },
      "source": "Hand calculation in content.mdx: 2 × 20 × 8 + 10 × 10 = 420 ft² ÷ 400 = 1.05 gal (NIST Handbook 44 units)"
    },
    {
      "given": {
        "l": 3.048,
        "w": 3.048,
        "h": 2.6670000000000003,
        "coats": 1,
        "cov": 32.516064,
        "extra": 0,
        "doors": 0,
        "da": 1.8580608,
        "win": 0,
        "wa": 1.3935456000000002,
        "ceil": false
      },
      "expect": {
        "squareFeet": 350,
        "gallons": 1,
        "buy": 1
      },
      "source": "Hand calculation in content.mdx: 2 × 20 × 8.75 = 350 ft² ÷ 350 = 1 gal (NIST Handbook 44 units)"
    },
    {
      "given": {
        "l": 4,
        "w": 3,
        "h": 2.5,
        "coats": 2,
        "cov": 37.85411784,
        "extra": 0,
        "doors": 1,
        "da": 1.8,
        "win": 1,
        "wa": 1.5,
        "ceil": false
      },
      "expect": {
        "squareMeters": 31.7,
        "liters": 6.34,
        "gallons": 1.6748508119506609
      },
      "source": "NIST Handbook 44, Appendix C (1 US gallon = 3.785411784 L, so 10 m² per litre is 37.85411784 m² per gallon); hand calculation in content.mdx: 2 × 7 × 2.5 − 1.8 − 1.5 = 31.7 m² × 2 ÷ 10 = 6.34 L"
    }
  ],
  "sources": [
    "NIST Handbook 44 (2024), Appendix C, General Tables of Units of Measurement: 1 US gallon = 231 in³ = 3.785411784 L; 1 ft = 0.3048 m; 1 ft² = 144 in². https://www.nist.gov/pml/owm/nist-handbook-44-current-edition",
    "OpenStax, Prealgebra 2e, §9.4 Use Properties of Rectangles, Triangles, and Trapezoids (area and perimeter of a rectangle). https://openstax.org/books/prealgebra-2e/pages/9-4-use-properties-of-rectangles-triangles-and-trapezoids"
  ],
  "related": [
    "drywall",
    "square-footage"
  ],
  "changelog": [
    {
      "date": "2026-09-30",
      "note": "Metric heads the result with the paint in litres; the answer names litres and m²."
    }
  ]
}
