Tile Layout: Centering and Balanced Cuts

Where to start the first tile along a run so the cuts at the walls are not slivers.

Run the calculator

Example

You enter

You get

No published worked example is on file for this calculation. It is checked against a hand-worked derivation of its method and an independent reference test.

Details, formula, and sources

ScopeEvery layout holds the same number of tiles give or take one; what changes is where the leftover goes. Starting with a full tile at one wall puts it all in one cut at the far wall; centering splits it into two equal cuts, and centering on a tile or on a grout joint moves each cut by half a tile, so when one centered layout leaves a sliver the other does not. A 132 in run of 12 in tile at a 1/8 in joint gives ten full and a 10.75 in cut starting full, nine full and two 11.375 in cuts centered on a tile, and ten full and two 5.31 in cuts centered on a joint, under half a tile. It recommends the layout with no cut under the minimum (half a tile by default), preferring a centered one, and says how far from the wall the first full tile's edge goes. Run it once per room dimension; the count and waste are the tile count calculator's.

Formula or tablepitch P = tile + joint; start full: n = floor((run + joint) / P), cut = run - n x tile - n x joint (0 when it fits exactly); centered: the largest k of the right parity (odd on a tile, even on a joint) with cuts = (run - k x tile - (k - 1) x joint) / 2 - joint >= 0; a sliver is a cut under the minimum (default half a tile).

Source and editionFirst-principles layout arithmetic by name; joints run between tiles and between a full tile and its cut, not against the wall. Avoiding cuts under half a tile is common tile-setting practice, not a numbered standard requirement.

Free accessFirst-principles arithmetic on the reader's own room and tile.

What governsEstimate. AHJ and licensed professional govern.

API field namesrun_in, tile_in, joint_in, min_cut_in, start_full_cut_in, tile_centered_cut_in, joint_centered_cut_in, first_full_edge_in

Related tools