Tile Calculator
Calculate how many tiles you need for a floor or wall.
Enter the surface dimensions and your tile size to get the number of tiles needed, including a waste allowance for cuts and breakage. Works for floors, walls, and backsplashes.
How it works
Divide the surface area by the area of one tile, then add a waste allowance. A 12×12-inch tile covers exactly one square foot, which makes estimating easy. Add more waste for diagonal layouts or rooms with many cuts.
Worked example
Tiling a 8 ft × 10 ft floor (80 sq ft) with 12×12-inch tiles (1 sq ft each) needs 80 tiles before waste. Add 10% for cuts and breakage for a straight layout (88) — or 15% for a diagonal or patterned layout. Buy whole boxes, so round up to the next full box and keep the leftovers for repairs.
What changes your estimate
- Layout waste. Straight grids waste ~10%; diagonal, herringbone, or small-room layouts waste 15% or more from edge cuts.
- Tile size. Large-format tile has fewer grout lines but more waste on cuts; mosaic sheets cover area differently — check the box coverage.
- Lippage and spacing. Grout-line width slightly changes how many tiles fit a run; the calculator assumes typical spacing.
- Keep spares. Dye lots vary, so order all tile at once and store a box for future cracked-tile repairs.
Frequently asked questions
How many tiles do I need?
Divide the surface area by the area of one tile and add 10% for waste. A 12×12-inch tile covers 1 sq ft, so a 100 sq ft floor needs about 110 tiles with waste.
How much waste should I add for tile?
Allow 10% for a standard straight layout, and up to 15–20% for diagonal or herringbone patterns and rooms with lots of cuts.
Does this work for wall tile and backsplashes?
Yes — enter the wall or backsplash dimensions as the surface, then your tile size.
Is this calculator free and private?
Yes. Every CubicCabin calculator runs entirely in your browser, so the numbers you enter are never uploaded or stored. There's no sign-up, no limits, and it keeps working even if you lose connection after the page loads.