This hanging toilet paper holder has three bulb-shaped lace pockets, one stacked above the other. They hang from a solid tab and a wooden ring. Each pocket has a flat oval base, a radiating fan of double-crochet spokes and rounds of open arches that let the rolls show through.
The main color is a soft periwinkle blue, and the trim is pale butter yellow. Yellow scallops run along the front rim of each pocket. A thin yellow slip-stitch outline traces the base and both sides of each pocket, so the shape stands out against a wall. The look is vintage-cottage and suits a bright bathroom.
The pattern uses US crochet terms. The finished holder is about 13.75 in (34.9 cm) tall from the bottom of the lowest pocket to the top rim of the highest one. With the tab and ring it is about 18 in (45.7 cm) long. Each pocket is about 9 in (22.9 cm) wide when flattened at its widest point.
Construction is simple. Work each pocket from the bottom up, in joined rounds. First crochet the oval base, then the lace walls. Sew the pockets together at the back, add the tab and ring, then work the yellow border on each pocket.
Finished Size and Construction
- Finished size: 13.75 in (34.9 cm) tall body; 18 in (45.7 cm) overall with ring; 9 in (22.9 cm) widest
- Skill level: Intermediate
- Terminology: US
- Yarn weight: #4 worsted cotton
- Hook: 5.0 mm (H-8)
- Number of pieces: 3 pockets, 1 tab, 1 purchased ring
- Layout: 1 column of 3 pockets, stacked vertically
- Pocket size: 5.25 in (13.3 cm) tall; rim 8.75 in (22.2 cm) wide when flat
- Size before border: 13.75 in x 9 in (34.9 cm x 22.9 cm)
- Border depth: 0.5 in (1.3 cm) along each front rim
Materials
Use a smooth, firm worsted-weight cotton or cotton blend. Cotton holds the pocket shape, survives a humid bathroom and blocks crisply. Avoid splitty or very soft acrylics, because the lace will sag under the weight of a roll.
- Periwinkle blue (Color A): 130 g, about 200 m
- Butter yellow (Color B): 30 g, about 46 m
- 5.0 mm (H-8) crochet hook
- 1 wooden ring, 3 in (7.6 cm) outer diameter
- Tapestry needle
- 6 locking stitch markers
- Scissors and a measuring tape
- Rolled towels or plastic bags for blocking
These quantities include a margin of about 20 percent for a gauge swatch and small differences in tension.
Abbreviations (US Terms)
- ch: chain
- sc: single crochet
- dc: double crochet
- sl st: slip stitch
- st(s): stitch(es)
- sp: space
- sk: skip
- BLO: back loop only
- rep: repeat
- Rnd: round
Special stitches
- Fan: Work (dc, ch 1) 6 times in the same stitch, then work 1 more dc in that stitch. This makes 7 dc and 6 ch-1 spaces.
- Shell: Work 5 dc in the same space.
- Surface sl st: Hold the yarn behind the work. Insert the hook from the front, pull up a loop and draw it through the loop on the hook.
Gauge and Checkpoints
Gauge: 16 sc and 16 sc rounds = 4 in (10.2 cm) with a 5.0 mm hook.
Make one complete pocket before you start the others. The lace gauge is hard to measure from a swatch, so a finished pocket is the real test.
- After Base Rnd 6: the oval measures 4.75 in x 3.25 in (12.1 cm x 8.3 cm).
- After Wall Rnd 3: the wall is about 1.75 in (4.4 cm) tall, measured from the turning ridge.
- After Wall Rnd 9: the pocket is 5.25 in (13.3 cm) tall, and the rim lies 8.75 in (22.2 cm) wide when flattened.
If your base comes out larger, go down half a hook size. If it is smaller, go up half a size. A pocket that is too small will not hold a standard roll. A standard roll is about 4.5 in (11.4 cm) across and 4 in (10.2 cm) long.

Pocket (Make 3)
Join each round with a sl st to the first st. The beginning ch 1 does not count as a stitch.
Base
With Color A, ch 9.
Rnd 1: Work 3 sc in the 2nd ch from the hook and 1 sc in each of the next 6 ch. Work 3 sc in the last ch. Then, working along the opposite side of the foundation chain, sc in each of the next 6 ch. Join. (18 sts)
Rnd 2: Ch 1, 2 sc in each of the next 3 sts, sc in the next 6 sts, 2 sc in each of the next 3 sts, sc in the next 6 sts. Join. (24 sts)
Rnd 3: Ch 1, [sc in next st, 2 sc in next st] 3 times, sc in next 6 sts; rep from * once more. Join. (30 sts)*
Rnd 4: Ch 1, [sc in next 2 sts, 2 sc in next st] 3 times, sc in next 6 sts; rep from * once more. Join. (36 sts)*
Rnd 5: Ch 1, [sc in next 3 sts, 2 sc in next st] 3 times, sc in next 6 sts; rep from * once more. Join. (42 sts)*
Rnd 6: Ch 1, [sc in next 4 sts, 2 sc in next st] 3 times, sc in next 6 sts; rep from * once more. Join. (48 sts)*
Each curved end now has 18 sts and each straight side has 6 sts: 18 + 6 + 18 + 6 = 48. Check the size against the first checkpoint.
Walls
Rnd 1: Ch 1, sc in the BLO of each st around. Join. (48 sc) This forms a turning ridge and leaves 48 unused front loops on Base Rnd 6 for the yellow outline later.
Rnd 2: Ch 3 (counts as dc), dc in each st around. Join to the top of the ch-3. (48 dc)
Rnd 3 (fan round): Ch 1, sc in next st, ch 3, sk 5 sts, Fan in next st, ch 3, sk 5 sts; rep from * 3 more times. Join. (4 Fans, 4 sc, 8 ch-3 sps)* Each repeat uses 12 sts, and 4 x 12 = 48.
Place a marker in the center dc of one Fan that sits on a long side of the oval. This Fan is the front. The Fan directly opposite it is the back.
Rnd 4: Ch 1, sc in sc, ch 3, dc in first dc of Fan, [ch 2, dc in next dc] 6 times, ch 3; rep from * 3 more times. Join. (28 dc, 24 ch-2 sps, 4 sc, 8 ch-3 sps)*
Rnd 5: Ch 1, sc in sc, ch 4, sc in first ch-2 sp, [ch 4, sc in next ch-2 sp] 5 times, ch 4; rep from * 3 more times. Join. (28 sc, 28 ch-4 loops)* Each repeat has 7 sc and 7 loops.
Rnd 6: Sl st into the first 2 ch of the first loop. Ch 1, sc in the same loop, ch 5, sc in next loop; rep from * 26 more times, ch 5. Join. (28 sc, 28 ch-5 loops)*
Rnd 7: Sl st into the first loop. Ch 1, sc in the same loop, ch 2, Shell in next loop, ch 2, sc in next loop; rep from * around, ending the last rep at . Join. (14 Shells, 14 sc, 28 ch-2 sps)*
Rnd 8: Sl st into the next ch-2 sp and into the next 3 dc. Ch 1, sc in the same dc (the center dc of the Shell), ch 6, sc in center dc of next Shell; rep from * 12 more times, ch 6. Join. (14 sc, 14 ch-6 loops)*
Rnd 9 (rim): Ch 1, sc in sc, 4 sc in next ch-6 loop; rep from * 13 more times. Join. (70 sc)* Fasten off and weave in the ends.
Rnds 6 and 7 are the widest part of the pocket. Rnd 9 draws in slightly, which gives the pocket its bulb shape.
Mark the Back Rim
Find the rim stitch directly above the center of the back Fan. Mark that stitch and the 8 sts on each side of it, for a total of 17 back sts. The remaining 53 front sts will get the yellow border.
Mark Wall Rnd 2 the same way: mark 17 sts centered over the back Fan.
Make All Pieces
- Color A: 3 pockets and 1 tab
- Color B: border on all 3 pockets, worked after joining
- Hardware: 1 wooden ring
Tab: With Color A, ch 7.
- Row 1: Sc in the 2nd ch from the hook and in each ch across. (6 sc)
- Rows 2–20: Ch 1, turn, sc across. (6 sc)
Fasten off and leave a 12 in (30.5 cm) tail. The tab measures 1.5 in x 5 in (3.8 cm x 12.7 cm).
Layout:
[ Ring ]
[ Tab ]
[ Pocket 1 - top ]
[ Pocket 2 - middle ]
[ Pocket 3 - bottom ]
Joining
Use Color A and a tapestry needle.
Pocket 3 to Pocket 2. Place the back of Pocket 2 against the inside of the back wall of Pocket 3’s rim. Line up the 17 marked rim sts on Pocket 3 with the 17 marked Wall Rnd 2 sts on Pocket 2. Whipstitch them together one to one: 17 sts to 17 sts, with no extra stitches. The base of Pocket 2 now dips about 1 in (2.5 cm) into the mouth of Pocket 3.
Pocket 2 to Pocket 1. Join these two pockets the same way.
Tab. Fold the tab in half around the ring. Sandwich the center 6 of the 17 marked back sts on Pocket 1’s rim between the two ends of the tab, so one layer is inside the pocket and one is outside. Overlap the rim by 0.5 in (1.3 cm), then sew through all layers. About 2 in (5.1 cm) of tab shows above the rim.
Tension. Sew firmly but not tightly. If the seams pucker, the pockets will twist sideways when loaded.
Size checkpoint: The holder now measures 5.25 + 4.25 + 4.25 = 13.75 in (34.9 cm). Each pocket adds 5.25 in (13.3 cm) minus the 1 in (2.5 cm) overlap.
Border
The border is worked separately on each pocket, so the stitch counts are per pocket.
Border gauge: 4 sts = 1 in (2.5 cm) for sc and sl st. Each scallop is 1 in (2.5 cm) wide.
Part A, bottom outline. With Color B, sl st in each of the 48 unused front loops of Base Rnd 6. Join. (48 sl st, 12 in / 30.5 cm) Fasten off.
Part B, side lines. Flatten the pocket so the front Fan is centered. Work 20 surface sl sts up each side fold, from the bottom outline to the rim. (20 sl st per side, 5 in / 12.7 cm) Fasten off after each line.
Part C, rim edging. This part is worked in rows across the front rim only.
- Row 1: With the right side facing, join Color B in the first front st after the joined back section. Ch 1, sc in each of the 53 front sts. (53 sc, 13.25 in / 33.7 cm)
- Row 2: Ch 1, turn. Sc in the first st, sk 1 st, Shell in next st, sk 1 st, sc in next st; rep from * 12 more times. (13 scallops, 14 sc)* Fasten off.
Why the math works: The rim has 70 sts, and 17 of them are used in the back join, which leaves 70 − 17 = 53 front sts. Each scallop uses 4 sts, and the row needs 1 extra st to end on a sc: 4 × 13 + 1 = 53. The joined back sts get no border, so nothing is counted twice. On Pocket 1, the tab covers the plain back section.
Final Blocking
- Soak the holder in cool water for 10 minutes.
- Press out the water in a towel. Do not wring it.
- Stuff each pocket with a rolled towel or a plastic bag so it takes a round bulb shape.
- Pin each Fan open and ease the scallops into even curves.
- Lay the holder flat with the ring at the top. Check that it is 13.75 in (34.9 cm) long and 9 in (22.9 cm) wide.
- Let it dry completely, about 24 hours, before you remove the stuffing.
Final Quality-Control Checklist
- Each base has 48 sts and measures 4.75 in x 3.25 in (12.1 cm x 8.3 cm).
- Each pocket has 4 Fans, with one centered on the front.
- Each rim has 70 sc.
- Each back join is 17 sts to 17 sts.
- Each front rim has 13 scallops.
- The side lines are straight and match in height.
- The tab is centered, and the ring hangs straight.
- All ends are woven in securely.
Troubleshooting
- Base ruffles: Your tension is too loose. Go down a hook size or tighten the increases.
- Base cups: Your tension is too tight. Go up a hook size.
- Fans lean to one side: Check that you skipped exactly 5 sts on each side of every Fan.
- Roll won’t fit: Block the pocket over a real roll, or go up a hook size.
- Pockets twist: Re-center the back join over the back Fan.
- Scallops ruffle: Recount Row 1. It must have exactly 53 sc.
Care
Hand wash in cool water and dry flat, reshaping each pocket over a rolled towel. Remove the wooden ring before washing.

Final Notes
The measurement chain is short. A 48-st base measures 4.75 in x 3.25 in (12.1 cm x 8.3 cm). It grows into a 70-st rim on a pocket 5.25 in (13.3 cm) tall. Three pockets joined at a 1 in (2.5 cm) overlap make a 13.75 in (34.9 cm) body, and each 53-st front rim takes 13 scallops. If each checkpoint matches, the finished holder will match. Happy crocheting!