{
  "id": "flooring",
  "version": "a71487464aef",
  "status": "published",
  "name": "Flooring Calculator",
  "question": "How much flooring do I need to buy?",
  "summary": "Computes a room’s floor area, the flooring to buy with a waste allowance, the number of cartons, and the cost, for laminate, vinyl plank, hardwood or tile.",
  "category": "construction",
  "subcategory": "flooring",
  "url": "https://www.acalculator.org/construction/flooring-calculator",
  "markdown": "https://www.acalculator.org/construction/flooring-calculator.md",
  "kind": "function",
  "method": "Floor area = length × width + other area; flooring to buy = floor area × (1 + waste ÷ 100); cartons = flooring to buy ÷ coverage per carton, rounded up; cost = area paid for × price per ft².",
  "assumptions": [
    "Waste is 10% by default (Bruce: the usual starting point for a straight plank layout; Lumber Liquidators: 7% to 10% straight, 15% diagonal, 15% to 20% herringbone).",
    "A carton covers 20 ft² by default; type the coverage printed on your carton.",
    "The room is a rectangle; add closets and alcoves as other area."
  ],
  "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
      },
      "other": {
        "title": "Other area",
        "description": "Floor area of closets, a hallway or an alcove to add, measured the same way. Leave empty for none.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "area",
        "minimum": 0.01,
        "maximum": 100000
      },
      "waste": {
        "title": "Waste allowance",
        "description": "Extra flooring for cuts and mistakes, in percent: 10% for a straight layout, 15% for diagonal.",
        "type": "number",
        "x-unit": "percent",
        "minimum": 0,
        "maximum": 50
      },
      "box": {
        "title": "Coverage per carton",
        "description": "The floor area one carton covers, printed on the carton. Leave empty to skip cartons.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "area",
        "minimum": 0.01,
        "maximum": 100000
      },
      "price": {
        "title": "Price per square foot",
        "description": "What the flooring costs per square foot. Leave empty to skip the cost.",
        "type": "number",
        "x-unit": "USD",
        "minimum": 0,
        "maximum": 10000
      }
    }
  },
  "outputs": {
    "buy": {
      "label": "Flooring to buy (ft²)",
      "description": "The floor area plus the waste allowance, in square feet.",
      "format": "number"
    },
    "buyM2": {
      "label": "Flooring to buy (m²)",
      "description": "The same area in square metres.",
      "format": "number"
    },
    "floor": {
      "label": "Floor area (ft²)",
      "description": "Length × width, plus any other area, in square feet.",
      "format": "number"
    },
    "floorM2": {
      "label": "Floor area (m²)",
      "description": "The floor area in square metres.",
      "format": "number"
    },
    "boxes": {
      "label": "Cartons",
      "description": "Flooring to buy ÷ the coverage per carton, rounded up to a whole carton.",
      "format": "integer"
    },
    "bought": {
      "label": "Area in the cartons (ft²)",
      "description": "Cartons × the coverage per carton, in square feet.",
      "format": "number"
    },
    "cost": {
      "label": "Cost",
      "description": "The area you pay for (in the cartons, or the flooring to buy) × the price per square foot.",
      "format": "money"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "l": 4.572,
      "w": 3.6576000000000004,
      "waste": 10,
      "box": 1.8580608
    },
    "outputs": {
      "buy": 198,
      "buyM2": 18.39480192,
      "floor": 180,
      "floorM2": 16.7225472,
      "boxes": 10,
      "bought": 200
    },
    "text": "Buy 198 ft² of flooring for 180 ft² of floor."
  },
  "examples": [
    {
      "given": {
        "l": 4.572,
        "w": 3.6576000000000004,
        "waste": 10,
        "box": 1.8580608,
        "price": 3.5
      },
      "expect": {
        "floor": 180,
        "buy": 198,
        "boxes": 10,
        "bought": 200,
        "cost": 700
      },
      "source": "Bruce, How to Buy Flooring (length × width; ten percent is the usual starting point for a straight plank layout), https://www.bruce.com/en-us/resources/how-to-buy-flooring-a-guide-for-homeowners.html; hand calculation in content.mdx: 180 × 1.1 = 198 ft² ÷ 20 = 9.9, so 10 cartons"
    },
    {
      "given": {
        "l": 4.572,
        "w": 3.6576000000000004,
        "other": 2.2296729600000003,
        "waste": 15,
        "box": 2.0903184
      },
      "expect": {
        "floor": 204,
        "buy": 234.6,
        "boxes": 11,
        "bought": 247.5
      },
      "source": "Lumber Liquidators, Estimating Your DIY Flooring Project (straight lay add 7–10%; diagonal add 15%), https://lumberliquidators.com/blogs/flooring-inspiration-education/estimating-your-diy-flooring-project; hand calculation in content.mdx: 204 × 1.15 = 234.6 ft² ÷ 22.5 = 10.43, so 11 cartons"
    },
    {
      "given": {
        "l": 5,
        "w": 4,
        "waste": 10,
        "box": 2.2
      },
      "expect": {
        "floorM2": 20,
        "buyM2": 22,
        "boxes": 10,
        "buy": 236.80602916761387
      },
      "source": "NIST Handbook 44 (2026), Appendix C (1 ft² = 0.09290304 m²), https://www.nist.gov/document/2026-nist-handbook-44-appendix-c; hand calculation in content.mdx: 5 × 4 × 1.1 = 22 m² ÷ 2.2 = 10 cartons"
    }
  ],
  "sources": [
    "Bruce, How to Buy Flooring: A Guide for Homeowners (measure length by width; ten percent is the usual starting point for a straightforward plank layout; diagonal, patterns and irregular rooms need more). https://www.bruce.com/en-us/resources/how-to-buy-flooring-a-guide-for-homeowners.html (retrieved 2026-10-02)",
    "Lumber Liquidators, Estimating Your DIY Flooring Project (straight lay add 7–10%; diagonal add 15%; herringbone or complex patterns add 15–20%; rooms with many obstacles add 3–5% more; round up to the nearest carton). https://lumberliquidators.com/blogs/flooring-inspiration-education/estimating-your-diy-flooring-project (retrieved 2026-10-02)",
    "NIST Handbook 44 (2026), Appendix C, General Tables of Units of Measurement: 1 ft = 0.3048 m; 1 ft² = 0.09290304 m²; 1 yd² = 9 ft². https://www.nist.gov/document/2026-nist-handbook-44-appendix-c (retrieved 2026-10-01)"
  ],
  "related": [
    "square-footage",
    "paint",
    "drywall",
    "deck"
  ],
  "changelog": []
}
