Tiling a bathroom floor is one of the most rewarding DIY projects — and one where prep work makes or breaks the result. This guide covers everything from choosing the right tile and substrate to cutting, setting, grouting, and sealing.
Difficulty
Intermediate–Advanced
Time
2–3 days
Material Cost
$3–$15/sq ft
| Tile Type | Cost/Sq Ft |
|---|---|
| Ceramic | $1–$5 |
| Porcelain | $3–$10 |
| Natural stone (marble, slate) | $5–$20 |
| Vinyl/LVT (luxury vinyl tile) | $2–$7 |
| Mosaic (mesh-mounted) | $5–$15 |
For bathroom floors, porcelain is the best all-around choice — durable, waterproof, and available in every style imaginable. Choose tiles with a textured or matte finish for slip resistance (look for a COF rating of 0.42 or higher for wet areas).
| Material | Est. Cost | |
|---|---|---|
| Floor tile | $165–$550 | |
| Cement backer board (3×5 sheets) | $40–$60 | |
| Thinset mortar (50-lb bag) | $15–$30 | |
| Grout (25-lb bag) | $15–$25 | |
| Backer board screws | $8–$12 | |
| Alkali-resistant mesh tape | $5–$8 | |
| Tile spacers (bag) | $3–$5 | |
| Grout sealer | $10–$15 | |
| Transition strip (if needed) | $8–$20 | |
| Total (50 sq ft) | $269–$725 |
Calculate exact tile, thinset, and grout quantities for your bathroom with our Tile Calculator.
Tile wet saw or snap cutter, notched trowel (¼"×¼" for most floor tiles), grout float, large sponge, bucket, mixing paddle and drill, level, tape measure, chalk line, knee pads, tile nippers (for curves around toilet flange and pipes), pencil, safety glasses.
Remove the toilet (shut off water, disconnect supply line, remove bolts, lift straight up and set aside on cardboard). Remove baseboards carefully if you plan to reuse them. Pry up old flooring down to the subfloor. Scrape off any remaining adhesive. Check the subfloor for soft spots, squeaks, and levelness. Fix any issues now — tile cracks on an uneven or bouncy subfloor.
Do not tile directly over plywood in a bathroom — moisture will eventually destroy the bond. Spread a thin layer of modified thinset over the plywood, lay cement backer board (HardieBacker or similar), and screw every 8" into the joists. Stagger seams. Tape all seams with alkali-resistant mesh tape embedded in thinset. Let dry overnight.
Dry-lay tiles without adhesive to plan the pattern. Find the center of the room and snap perpendicular chalk lines. Start laying tile from the center outward. Adjust so you don't end up with tiny sliver cuts along the most visible walls — cuts along the walls should be at least half a tile wide. Check the layout around the toilet flange, vanity, and doorway.
Mix thinset to a peanut-butter consistency — thick enough to hold ridges from the notched trowel. Spread thinset in a 3×3 ft area starting at the center intersection. Drag the notched trowel at a 45° angle to create even ridges. Set the first tile at the intersection, press and twist slightly. Add spacers and continue. Check level every few tiles. Work outward from the center toward the walls.
Measure each edge tile individually — bathroom walls are rarely perfectly straight. Cut with a wet saw for straight cuts. Use a combination of straight cuts and tile nippers for curved cuts around the toilet flange. Leave a ¼" gap around the flange (it'll be hidden by the toilet base). Cut doorway transition last.
Do not walk on the tiles for at least 24 hours. Keep the room closed to foot traffic. This is not optional — walking on uncured thinset shifts the tiles and creates an uneven surface.
Remove all spacers. Mix grout to a thick paste. Working in small sections, spread grout diagonally across the joints with a grout float, pressing it into every gap. Hold the float at a 45° angle to scrape excess off the tile surface. After 15–20 minutes (when the grout starts to firm), wipe the tile surface with a damp sponge in circular motions. Rinse the sponge frequently. Don't wipe the joints themselves — you'll pull out grout. Let the grout haze dry, then buff tiles clean with a dry cloth.
After the grout has fully cured (2–3 days), apply a penetrating grout sealer following the product directions. This prevents moisture, stains, and mildew from penetrating the grout. Reseal once a year in high-moisture bathrooms.
Set a new wax ring on the toilet flange. Lower the toilet onto the flange bolts, press down firmly, and tighten bolts alternately until snug (don't overtighten — you'll crack the porcelain). Reconnect the water supply, turn on, and check for leaks. Reinstall baseboards with a small gap off the tile (caulk the gap, don't grout it).
Measure the floor area in square feet and add 10% for waste (15% if using a diagonal layout or the room has many cuts). A standard 5×10 bathroom is 50 sq ft, so buy 55 sq ft of tile. Our Tile Calculator gives an exact count including waste.
It's possible if the existing tile is firmly bonded, level, and the floor can handle the extra weight. Roughen the surface with a sander, clean thoroughly, and use a bonding thinset. However, this raises the floor height which can cause issues at transitions and with the toilet flange.
12×12 or 12×24 are the most popular sizes. Larger tiles make a small bathroom feel bigger and have fewer grout lines to clean. Smaller tiles (2×2, hexagon mosaics) conform better to sloped shower floors. For a standard bathroom floor, 12×12 porcelain is the sweet spot.
For a standard bathroom floor (not a walk-in shower), cement backer board with sealed seams is sufficient. The tile and grout provide the primary water protection. For shower floors and wet rooms, you need a full waterproofing membrane (RedGard, Kerdi, etc.) over the backer board.
24 hours before walking on tiles (thinset curing). 48–72 hours before grouting after setting tiles. Then 24–48 hours after grouting before sealing. Total: plan for the bathroom to be out of service for 4–5 days.
Sanded grout for joints ⅛" wide or larger (most floor tile). Unsanded grout for joints narrower than ⅛" (some wall tile and mosaic). Epoxy grout is another option — more expensive but waterproof and stain-proof, ideal for bathroom floors.