Last updated: October 2026
How many tiles do I need?
Short answer: Divide your total area by the area of one tile, then add waste — 10% for straight layouts, 15% for diagonal, 20% for herringbone. The calculator above does all of it, converts to boxes, and estimates your cost.
How to measure for tile
Measure the length × width of each surface in feet (or meters). For an L-shaped room, split it into two rectangles and add both as separate areas — the calculator totals them. For walls and showers, measure height × width of each wall. Always measure twice; tile is unforgiving.
Waste allowance by pattern
| Pattern | Waste to add | Why |
|---|---|---|
| Straight | 10% | Tiles line up with walls; cuts only at edges |
| Diagonal | 15% | Every edge tile needs an angled cut |
| Herringbone / complex | 20% | Many small cuts and offcuts you can't reuse |
Buy the full calculated amount at once — dye lots vary between batches, and a second run of the "same" tile can be a visibly different shade.
Frequently asked questions
How much extra tile should I buy for waste?
Add 10% for a straight layout, 15% for diagonal, and 20% for herringbone or complex patterns. The calculator sets this automatically when you pick a pattern — you can adjust it.
How do I measure a room for tile?
Measure the length and width of the floor (or height and width of a wall) in feet or meters. For L-shaped rooms, split them into rectangles and add each as a separate area in the calculator.
How many boxes of tile do I need?
Divide your total tiles (including waste) by the number of tiles per box, then round up — you can't buy part of a box. The calculator does this and estimates cost if you enter the price per box.
Does this work for shower walls and backsplashes?
Yes. Measure each wall's height × width and add them as separate areas. Use a higher waste allowance (15–20%) for showers and backsplashes, which need more cuts around fixtures.
Is my project data private?
Completely. Every calculation runs locally in your browser with JavaScript — your measurements are never sent to a server, stored, or tracked.