Over-Toilet Wall Shelf [8/4 Wide · 4ft · 5-Pack]

on October 05, 2026

Over-Toilet Wall Shelf[8/4 Wide · 4ft · 5-Pack]

One pack. One build. All 5 boards used. • Makes 1 shelf unit

Over-Toilet Wall Shelf built from one 8/4 Wide · 4ft lumber pack (shown in black walnut) 21¼" W × 28" H × 11" D · 3 shelves

Shop Black Walnut 8/4 Wide · 4ft Pack Shop All Speciesselect 4' Lengths / 6-8"

How it goes together
Makes 1 shelf unit
Skill Intermediate
Time Weekend
Boards All 5 used

*Exotic — not available for shipment to US customers.

A solid hardwood shelf unit that hangs on the wall above the toilet, putting the dead space to work for towels, toilet rolls and a plant. Two glued-up side panels hold three 11"-deep shelves in stopped dados. Every board in the pack goes into it, and it hangs on a Z-cleat into the studs.

Quick Build — for experienced woodworkers

Part Qty From S2S size
Side pieces 4 Boards 1–4 28" × 5½" × 1¾"
Shelf pieces 6 Boards 1–4 (one each), board 5 (two) 18¾" × 5½" × 1¾"
Anchor blocks 2 Board 5, ripped from the block blank 4" × 1¾" × about 1½"

Sides: two 28" pieces edge-glued per side → 28" × 11" panels, grain vertical.

Shelves: six 18¾" pieces edge-glued in pairs → three 18¾" × 11" shelves, in ½"-deep stopped dados (stopped 1" from the front).

Shelf to side: end grain into a dado, so glue only the front 2" plus 3 × #10 × 3" screws per end through the side, counterbored and plugged.

Hanging: 18" aluminium Z-cleat on the back edge of the top shelf into 2 studs, plus two anchor blocks under the bottom shelf with a #10 × 3½" screw each.

Finished size: 21¼" W × 28" H × 11" D (about 10¾" after jointing). Shelves about 10⅜" apart. Weighs about 45 lb in walnut at 1¾", about 39 lb planed to 1½".

Board 1 Side 28" Shelf 18¾" Board 2 Side 28" Shelf 18¾" Board 3 Side 28" Shelf 18¾" Board 4 Side 28" Shelf 18¾" Board 5 Shelf 18¾" Shelf 18¾" Block blank 4" Hatched = planned offcut. Drawn for S2S boards at the narrowest width (5½" usable). Saw kerf ⅛".

Before You Start

Shopping List

  • 1 lumber pack — 8/4 Wide · 4ft (6–8" wide, S2S)
  • Wood glue (Titebond II or III)
  • 18" aluminium Z-cleat (hanging rail) rated 100 lb or more, with its screws
  • 18 × #10 × 3" flat-head wood screws (shelves)
  • 4 × #10 × 3½" structural screws (studs), or rated anchors if you miss a stud
  • 18 × ⅜" wood plugs
  • Sandpaper 120 / 180 / 220
  • Finish: water-based poly or spar urethane (moisture resistant)

Tools

  • Saw for crosscuts (mitre saw or circular saw with a speed square)
  • Jointer, straight-line rip jig or hand plane
  • 4 bar clamps, 24" or longer
  • Cauls (straight scrap strips)
  • Router with a ½" or ¾" straight bit and a clamped straightedge
  • Chisel
  • Drill/driver, countersink bit, pilot bits, ⅜" counterbore and plug cutter
  • Stud finder, level
  • Random-orbit sander or sanding block
Why S2S only? The 6–8" wide 8/4 boards come S2S: both faces planed, edges rough. Plan on losing about ¼" per edge when you straighten them.
Our sizing assumptions: ⅛" per saw cut · 6–8" wide 8/4 S2S boards trimmed ½" each end and ¼" off each rough edge (5½" clean at the narrowest), planned at 1¾" thick · sizes drawn for the narrowest board in the pack. Wider boards give you a bigger offcut or a wider part — never a shortage.

Step-by-Step

2
S2S Lumber Pack (6–8" wide)
Surfaced 2 sides — straighten edges first

  1. 1 Prep the boards. Trim ½" off each end to remove any end checks. Joint one edge straight, then rip the other edge parallel (¼" off each rough edge is our planning allowance).
  2. 2 Cut the parts. Square one end of each board. Cut boards 1–4 into a 28" side piece and an 18¾" shelf piece. Cut board 5 into two 18¾" shelf pieces and a 4" block blank. Use a stop block so the six shelf pieces match.
  3. 3 Glue up five panels. Joint the mating edges and edge-glue the side pieces in pairs, grain running up and down, and the shelf pieces in three pairs. Long grain to long grain, so glue holds on its own. Each panel is about 11" deep (closer to 10¾" after jointing). Flatten with a plane or sander. To save weight, plane everything to 1½" now.
  4. 4 Lay out the dados. Stand the sides together, inside faces up, and mark them as a pair. Mark the top shelf 1" down from the top, the bottom shelf 1" up from the bottom, and the middle shelf centred, leaving 10⅜" between shelves. Each dado is as wide as your shelf is thick.
  5. 5 Rout the dados. Clamp a straightedge and rout each dado ½" deep in two or three passes, stopping 1" short of the front edge. Square the stopped end with a chisel. Cut a 1" × ½" notch from each front corner of the shelves so they slide in.
  6. 6 Make the anchor blocks. Rip the block blank into two strips, each as tall as your shelf is thick and about 1½" deep. Each block will stand ⅜" out behind the unit, the same as the Z-cleat, so the unit hangs plumb. Drill a ⅜" counterbore and a pilot through each block, front to back.
  7. 7 Dry fit and drill. Slide the shelves into the dados, backs flush with the sides. Clamp square. Drill three counterbored holes through each side into each shelf end, about 1½" from front and back and one in the middle. Pre-drill into the shelf ends.
  8. 8 Finish all faces. Take it apart and sand 120 → 180 → 220. This is a bathroom, so seal every face, edge and dado with 3 coats of water-based poly or spar urethane. Bare wood soaks up steam and moves.
  9. 9 Assemble. Put a dab of glue in the front 2" of each dado only, slide the shelves in, and drive #10 × 3" screws through the sides. Glue in wood plugs and trim them flush. Glue the anchor blocks under the bottom shelf at the back, over the stud lines, grain matching the shelf.
  10. 10 Hang it. Screw the unit half of an 18" aluminium Z-cleat to the back edge of the top shelf. Mark a level line so the bottom shelf sits at least 24" above the tank lid. Screw the wall half into 2 studs (or rated anchors), hang the unit, then drive a #10 × 3½" screw through each anchor block into the wall.
Why stopped dados and screws? The dados carry the weight and keep the shelves square. A shelf end is end grain, which glues poorly, so the screws do the holding. Stopping the dado 1" short of the front hides the joint.
Why only glue the front 2"? The sides and shelves both move across their 11" depth through the year, but not always together in a damp bathroom. A short glue spot at the front keeps the front edges flush and lets the back float.
Why a Z-cleat? At about 45 lb this unit is too heavy to hold up while you drive screws over a toilet. Screw the wall half up first, check it is level, then lift the unit and drop it on. The anchor blocks stop it lifting off.
Why pre-drill? Maple, oak and hickory split if you drive a screw without a pilot hole. Pre-drill every screw and countersink so the heads sit flush.

Make It Yours

  • Lighter build: plane every part to 1½" before cutting the dados. It saves about 6 lb and still looks chunky.
  • Towel bar: drill a ¾" hole in each side 3" below the bottom shelf and fit a ¾" dowel for a hand towel.
  • Hooks: screw two brass hooks into the front edge of the bottom shelf for a robe or a washcloth.

Safety and Care

  • Wear eye and hearing protection. Use a push stick for every rip under 4" wide.
  • Pre-drill every screw — hardwoods split without a pilot hole.
  • Mount into wall studs (or rated anchors sized for the load). Check for wires and pipes before drilling.
  • The unit weighs about 45 lb in walnut. Load about 20 lb on the shelves — towels, rolls, bottles and a plant. Don't use it as a handhold.
  • Keep the bottom shelf at least 24" above the tank lid so you can lift the lid and nobody hits their head.
  • Lay a towel over the tank lid while you work so a dropped screw or drill doesn't crack it.
  • Wear a dust mask when cutting and sanding, especially exotics (padauk, purpleheart, sapele).

Frequently Asked Questions

The 6–8" wide 8/4 pack comes S2S (faces planed, edges rough). Straighten the edges with a jointer, a table saw and a straight-line jig, a track saw, or a hand plane.

Most tanks are 17"–21" wide, and this unit is 21¼" wide, so it lines up nicely. Measure your tank and the wall space first. Leave at least 24" between the tank lid and the bottom shelf.

The 18" Z-cleat reaches two studs at 16" centres when the unit is roughly centred. If the toilet sits between studs, use rated toggle anchors (each rated over 50 lb) for the cleat and the anchor blocks.

Not with a good finish on every face, including inside the dados and on the end grain. Run the fan when you shower and re-coat if the finish dulls.

Planned offcuts only: almost nothing off boards 1–4 and about 5" off board 5 after the block blank. Ripping the anchor blocks leaves a few thin strips. All 5 boards go into the unit.

A 2ft wide pack is too short for the sides. It makes our Floating Nightstand Shelf or a pair of short wall shelves instead.

______________________________________________________

Start Your Next Build

Next, select a collection to display products
BACK TO TOP