{
  "id": "tile",
  "version": "48b834769872",
  "status": "published",
  "name": "Tile Calculator",
  "question": "How many tiles do I need?",
  "summary": "Computes how many tiles cover a floor or wall from its size, the tile size, and the grout gap, with an extra share for cuts and breakage, and the boxes to buy.",
  "category": "construction",
  "subcategory": "flooring",
  "url": "https://www.acalculator.org/construction/tile-calculator",
  "markdown": "https://www.acalculator.org/construction/tile-calculator.md",
  "kind": "function",
  "method": "tiles = length × width × (1 + extra ÷ 100) ÷ ((tile length + gap) × (tile width + gap)), rounded up; boxes = tiles ÷ tiles per box, rounded up.",
  "assumptions": [
    "The area is a rectangle. Split an L-shaped room into rectangles and add the tiles.",
    "Each tile covers its own size plus one grout gap in each direction.",
    "Extra for waste is 10% by default (Daltile: about 10% more); use about 15% for diagonal, herringbone, or large tiles (Arizona Tile: 10% to 15%).",
    "Tiles are counted by area; the count does not plan where cuts fall."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "l": {
        "title": "Area length",
        "description": "The length of the floor or wall to tile.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "exclusiveMinimum": 0,
        "maximum": 1000
      },
      "w": {
        "title": "Area width",
        "description": "The width of the floor, or the height of the wall.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "exclusiveMinimum": 0,
        "maximum": 1000
      },
      "tl": {
        "title": "Tile length",
        "description": "The length of one tile.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "minimum": 0.001,
        "maximum": 10
      },
      "tw": {
        "title": "Tile width",
        "description": "The width of one tile.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "minimum": 0.001,
        "maximum": 10
      },
      "g": {
        "title": "Grout gap",
        "description": "The width of the grout joint between tiles; 0 for none.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "minimum": 0,
        "maximum": 0.1
      },
      "extra": {
        "title": "Extra for waste",
        "description": "Tile to add, in percent, for cuts, breakage, and spares: about 10% for a straight layout, 15% for diagonal or herringbone.",
        "type": "number",
        "x-unit": "percent",
        "minimum": 0,
        "maximum": 100
      },
      "box": {
        "title": "Tiles per box",
        "description": "How many tiles come in one box, from the label; leave empty to skip boxes.",
        "type": "integer",
        "minimum": 1,
        "maximum": 10000
      }
    }
  },
  "outputs": {
    "tiles": {
      "label": "Tiles to buy",
      "description": "The area with extra ÷ the area each tile covers with its grout, rounded up to whole tiles.",
      "format": "integer"
    },
    "exactTiles": {
      "label": "Tiles, not rounded",
      "description": "The area with extra ÷ the area each tile covers, before rounding up.",
      "format": "number"
    },
    "noExtra": {
      "label": "Tiles with no extra",
      "description": "The area ÷ the area each tile covers, rounded up, with no extra for waste.",
      "format": "integer"
    },
    "boxes": {
      "label": "Boxes to buy",
      "description": "The tiles to buy ÷ the tiles per box, rounded up.",
      "format": "integer"
    },
    "squareFeet": {
      "label": "Area, ft²",
      "description": "The area to tile in square feet, before the extra.",
      "format": "number"
    },
    "squareMeters": {
      "label": "Area, m²",
      "description": "The area to tile in square metres, before the extra.",
      "format": "number"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "l": 3.6576000000000004,
      "w": 3.048,
      "tl": 0.30479999999999996,
      "tw": 0.30479999999999996,
      "g": 0.003175,
      "extra": 10
    },
    "outputs": {
      "tiles": 130,
      "exactTiles": 129.29237963651823,
      "noExtra": 118,
      "squareFeet": 120,
      "squareMeters": 11.1483648
    },
    "text": "For 120 ft², buy 130 tiles (129.29 before rounding up)."
  },
  "examples": [
    {
      "given": {
        "l": 3.6576000000000004,
        "w": 3.048,
        "tl": 0.30479999999999996,
        "tw": 0.30479999999999996,
        "g": 0,
        "extra": 10
      },
      "expect": {
        "squareFeet": 120,
        "exactTiles": 132,
        "tiles": 132,
        "noExtra": 120
      },
      "source": "Daltile, Tile & Stone FAQs: buy about 10% more tile than you need (https://www.daltile.com/how-to/faqs); hand calculation in content.mdx: 120 ft² ÷ 1 ft² × 1.1 = 132"
    },
    {
      "given": {
        "l": 3.6576000000000004,
        "w": 3.048,
        "tl": 0.30479999999999996,
        "tw": 0.30479999999999996,
        "g": 0.003175,
        "extra": 10,
        "box": 15
      },
      "expect": {
        "exactTiles": 129.29237963651823,
        "tiles": 130,
        "noExtra": 118,
        "boxes": 9
      },
      "source": "Daltile, Tile & Stone FAQs: buy about 10% more tile (https://www.daltile.com/how-to/faqs); hand calculation in content.mdx: 17,280 in² ÷ 147.015625 in² × 1.1 = 129.29, so 130 tiles and 9 boxes of 15"
    },
    {
      "given": {
        "l": 3,
        "w": 2.4,
        "tl": 0.3,
        "tw": 0.6,
        "g": 0.003,
        "extra": 15
      },
      "expect": {
        "squareMeters": 7.2,
        "exactTiles": 45.317964632284124,
        "tiles": 46
      },
      "source": "Arizona Tile, How Much Extra Tile To Buy: 10% to 15% extra (https://www.arizonatile.com/how-much-extra-tile-to-buy/); hand calculation in content.mdx: 7.2 m² ÷ (0.303 × 0.603) × 1.15 = 45.32, so 46 tiles"
    }
  ],
  "sources": [
    "Daltile, Tile & Stone FAQs (attic stock: buy approximately 10% more tile than you need), retrieved 2026-10-01. https://www.daltile.com/how-to/faqs",
    "Arizona Tile, How Much Extra Tile To Buy? (10% to 15% additional tile), retrieved 2026-10-01. https://www.arizonatile.com/how-much-extra-tile-to-buy/",
    "NIST SP 811 (2008), Appendix B.8: 1 in = 0.0254 m and 1 ft = 0.3048 m exactly, retrieved 2026-10-01. https://www.nist.gov/pml/special-publication-811"
  ],
  "related": [
    "square-footage",
    "drywall",
    "paint"
  ],
  "changelog": []
}
