This hanging toilet paper holder gives a bathroom door or wall three tidy pockets, each holding one standard roll. A long teal back panel narrows into a strap that wraps around a wooden ring. Three deep pockets are sewn down the front, and each is banded with cream wave lace.
The palette is deep teal with a soft cream accent. Each pocket has a solid teal base and lower band, then cream ripple rounds split by one teal wave line, and a wavy teal rim. The open rounds add rows of small windows between the solid waves, so the lace looks light while the pocket stays sturdy.
The pattern uses US crochet terms. The finished holder is about 8 in (20.3 cm) wide and 23 3/4 in (60.3 cm) long from the bottom edge to the strap fold, not counting the ring. Each pocket is 6 in (15.2 cm) wide, 4 2/3 in (11.9 cm) deep, and about 3 3/4 in (9.5 cm) tall at the wave peaks.
Here’s how it goes together. You crochet one back panel in half double crochet rows, then shape a taper and a strap. You make three pockets, each starting with a flat single crochet base, with ripple walls worked in joined rounds. Then you sew the pockets on, add a two-round border, and fold the strap around the ring.
Finished Size and Construction
- Finished size: about 8 in (20.3 cm) x 23 3/4 in (60.3 cm)
- Skill level: Intermediate
- Terminology: US
- Yarn weight: worsted (#4) cotton
- Hook: 4.5 mm (US 7)
- Number of pieces: 4 (1 back panel + 3 pockets), sewn together
- Layout: 3 pockets in one vertical column on the panel
- Size before border: 7 in (17.8 cm) wide; the rectangle is 18 in (45.7 cm) long, the taper is 3 1/3 in (8.5 cm), and the strap is 4 in (10.2 cm), which folds to 2 in (5.1 cm)
- Pocket size: 6 in (15.2 cm) wide x 4 2/3 in (11.9 cm) deep x 3 3/4 in (9.5 cm) tall
- Border depth: 2 rounds of sc, about 1/2 in (1.3 cm)
Materials
Use a smooth worsted-weight cotton or cotton blend. Cotton keeps its shape when the pockets are loaded, and it shows the lace clearly. Fuzzy yarns blur the windows.
- Teal (main color): 250 g, about 475 m
- Cream (contrast color): 100 g, about 190 m
- 4.5 mm (US 7) crochet hook
- Wooden ring, 3 in (7.6 cm) across
- Tapestry needle
- 6 locking stitch markers
- Rust-proof pins and a blocking mat
- Measuring tape and scissors
Quantities assume about 190 m per 100 g. They include a margin of about 15% for the swatch and seaming.
Abbreviations (US Terms)
- ch chain
- sl st slip stitch
- sc single crochet
- hdc half double crochet
- dc double crochet
- hdc2tog half double crochet 2 together
- BLO back loop only
- st(s) stitch(es)
- sp space
- sk skip
- rep repeat
- Rnd round
Special stitch: dc3tog (double crochet 3 together). [Yarn over, insert hook in next st, yarn over and pull up a loop, yarn over and pull through 2 loops] 3 times. Then yarn over and pull through all 4 loops on the hook. This forms each wave valley and counts as 1 st.
Counting rule: In the ripple rounds, every dc, ch-1, and dc3tog counts as 1 st. A beginning ch-3 counts as 1 dc. A beginning ch-4 counts as 1 dc plus 1 ch.
Gauge and Checkpoints
- Sc: 16 sts and 18 rows = 4 in (10.2 cm)
- Hdc: 16 sts and 12 rows = 4 in (10.2 cm)
- Dc ripple: 16 sts and 8 rounds = 4 in (10.2 cm), measured flat
Make one pocket first. It uses every stitch in the pattern, so it’s your best gauge test.
Checkpoints:
1. Pocket base after Row 21: 6 in (15.2 cm) x 4 2/3 in (11.9 cm).
2. Pocket after Rnd 10: about 3 3/4 in (9.5 cm) tall at the peaks, with a circumference of about 22 1/2 in (57.2 cm).
3. Panel after Row 54: 7 in (17.8 cm) x 18 in (45.7 cm).
4. Panel after Row 64: the top of the taper is 2 in (5.1 cm) wide.
If your pieces measure too big, go down half a hook size. If they’re too small, go up half a size. A roll needs about 4 1/2 in (11.4 cm) of room across the base, so a base that’s too small matters most.

Back Panel (Make 1, Teal)
Row 1: Ch 30, hdc in 3rd ch from hook and in each ch across, turn. (28 hdc; the beg ch-2 does not count)
Rows 2–54: Ch 2 (does not count), hdc in each st across, turn. (28 hdc)
The panel should now measure 7 in (17.8 cm) x 18 in (45.7 cm).
Taper
Row 55: Ch 2, hdc2tog, hdc in each st to last 2 sts, hdc2tog, turn. (26 sts)
Rows 56–64: Rep Row 55. The rows have 24, 22, 20, 18, 16, 14, 12, 10, and 8 sts. (8 sts after Row 64)
Strap
Rows 65–76: Ch 2, hdc in each st across, turn. (8 hdc)
Don’t fasten off. Put the live loop on a marker; the border starts from it.
Pocket (Make 3)
Base (Teal)
Row 1: Ch 25, sc in 2nd ch from hook and in each ch across, turn. (24 sc)
Rows 2–21: Ch 1, sc in each st across, turn. (24 sc)
Don’t turn after Row 21. The Row 21 edge becomes the back of the pocket.
Walls
Rnd 1 (teal, edge round): Ch 1 and rotate. Work 21 sc down the row ends (1 per row). Work 24 sc in the unused loops of the foundation ch. Work 21 sc up the other row ends, then 24 sc across Row 21. Join with sl st to first sc. (24 + 21 + 24 + 21 = 90 sc)
Rnd 2 (teal): Ch 1, sc in BLO of each st around, join. (90 sc) The wall turns up here, along a ridge.
Rnd 3 (teal): Ch 1, sc in each st around, join. (90 sc)
Rnd 4 (teal, first ripple): Ch 3 (counts as dc), dc in next 2 sts, 3 dc in next st, dc in next 3 sts, dc3tog over next 3 sts; *dc in next 3 sts, 3 dc in next st, dc in next 3 sts, dc3tog over next 3 sts; rep from * 7 more times. Join to top of beg ch-3. (9 repeats x 10 sts = 90 sts) Fasten off.
Each repeat works into 10 sts and makes 10 sts, so the count stays at 90. The 3-dc group makes the peak, and the dc3tog makes the valley.
Rnd 5 (cream, solid ripple): Join cream in the 2nd st of Rnd 4 (the st after the beg ch-3). Ch 3, dc in next 2 sts, 3 dc in next st, dc in next 3 sts, dc3tog over next 3 sts; *dc in next 3 sts, 3 dc in next st, dc in next 3 sts, dc3tog over next 3 sts; rep from * 7 more times. Join. (90 sts)
Why each round starts 1 st over: Each ripple round ends with the peak center as the 5th st of every repeat and the valley as the 10th. Starting the next round 1 st later puts each new peak on an old peak and each dc3tog over an old valley. The start drifts only a few stitches along the side of the pocket.
Rnd 6 (cream, open ripple): Sl st in next st, ch 4 (counts as dc + ch 1), sk next st, dc in next st, (dc, ch 1, dc) in next st, dc in next st, ch 1, sk next st, dc in next st, dc3tog over next 3 sts; *dc in next st, ch 1, sk next st, dc in next st, (dc, ch 1, dc) in next st, dc in next st, ch 1, sk next st, dc in next st, dc3tog over next 3 sts; rep from * 7 more times. Join to 3rd ch of beg ch-4. (90 sts: 63 dc/dc3tog + 27 ch-1)
The ch-1 spaces form the windows. The peak ch-1 is the 5th st of each repeat, so the next round lines up the same way.
Rnd 7 (teal, solid ripple): Join teal in the 2nd st of Rnd 6, which is the first ch-1 sp. Work as Rnd 5, putting 1 dc in each dc and each ch-1 sp. The peak’s 3 dc go into the peak ch-1 sp. (90 sts) Fasten off. This round is the teal wave line.
Rnd 8 (cream, open ripple): Join cream in the 2nd st of Rnd 7. Ch 4, then work as Rnd 6 from “sk next st” to the end. (90 sts)
Rnd 9 (cream, solid ripple): Sl st in next st (the ch-1 sp), then work as Rnd 5 from “Ch 3.” (90 sts) Fasten off.
Rnd 10 (teal, rim): Join teal in any st. Ch 1, sc in each st around, join. (90 sc) The rim follows the waves. Fasten off and weave in the ends.
Measure against Checkpoint 2.
Make All Pieces
- Teal: 1 back panel. For each of the 3 pockets: the base, Rnds 1–4, Rnd 7, and Rnd 10.
- Cream: Rnds 5, 6, 8, and 9 of each of the 3 pockets.
Layout (front view, top to bottom):
[ ring ]
[ strap ] Rows 65–76
/ taper \ Rows 55–64
| (empty) | Rows 51–54
| POCKET 3 | Rows 39–50
| POCKET 2 | Rows 21–32
| POCKET 1 | Rows 3–14
|___________| Rows 1–2
Joining
Lay the panel right side up. Mark Rows 3, 21, and 39, where the bottom back edges of the pockets will sit. They’re 18 rows apart, or 6 in (15.2 cm), which leaves room to slide in each roll.
Method: Whipstitch with teal and a tapestry needle.
Stitch-to-stitch logic:
1. Bottom edge: The pocket’s back edge (the Row 21 side) has 24 Rnd 2 sts. Line these up with 24 of the panel’s 28 sts, leaving 2 sts (1/2 in, 1.3 cm) free on each side. Sew 1 pocket st to 1 panel st.
2. Back corners: Sew each back corner straight up a panel column. Rnds 2–3 cover 1 panel row. Rnds 4–9 cover 9 rows (2 rounds for every 3 rows). Rnd 10 covers 1 row. That’s 11 rows total, so the rims end at Rows 14, 32, and 50.
3. Top of the back wall: Tack the rim at both ends and in the center.
Tension: Pull each stitch snug, but not so tight that the panel puckers. The pocket front should bulge forward naturally.
Size checkpoint: The panel should still measure 7 in (17.8 cm) wide, with no gathering.
Border (Teal)
Border gauge: 4 sc = 1 in (2.5 cm) in both directions. Three hdc rows also measure 1 in, so working 4 sc into every 3 row ends keeps the edges flat.
Pick up the live loop at the top of the strap.
Rnd 1:
– Strap top: 3 sc in first st, sc in next 6 sts, 3 sc in last st. (8 sts worked into)
– Left strap side: (sc in next 2 row ends, 2 sc in next row end) 4 times. (16 sc)
– Left taper: (2 sc in each of next 2 row ends, sc in next row end) 3 times, 2 sc in last row end. (17 sc)
– Left side: (sc in next 2 row ends, 2 sc in next row end) 18 times. (72 sc)
– Bottom: 3 sc in first ch, sc in next 26 ch, 3 sc in last ch. (28 sts worked into)
– Right side, right taper, and right strap side: Work them like the left: 72, 17, and 16 sc. Join to first sc.
Count: 28 + 72 + 17 + 16 + 8 + 16 + 17 + 72 = 246 sts worked 1 per position, plus 2 extra sts at each of the 4 corners (8 extra) = 254 sc.
Rnd 2: Ch 1, sc in each st, with 3 sc in the center st of each of the 4 corner groups. Join. (254 worked 1 per st + 8 extra = 262 sc) Fasten off.
Why the math works: The bottom has 28 sts over 7 in (17.8 cm), which is 4 per inch. The 54 side rows measure 18 in (45.7 cm) at 3 rows per inch, so 72 sc also gives 4 per inch. The strap sides work the same way: 12 rows get 16 sc over 4 in (10.2 cm). The diagonal taper edge is about 4 1/4 in (10.8 cm) long, so 17 sc keeps it close to 4 per inch. Only the 4 outer corners get extra stitches. The inner angles at each end of the taper get none, which keeps them crisp.
Ring: Pass the strap through the ring from front to back. Fold it so the end lies over Row 65 on the wrong side, and whipstitch it down. This makes a 2 in (5.1 cm) loop.
Final Blocking
- Soak the holder in cool water. Press out the water in a towel without wringing.
- Pin the panel right side up to 8 in (20.3 cm) x 23 3/4 in (60.3 cm).
- Pin the border straight along each side and square at the bottom corners.
- Fill each pocket with a roll wrapped in a plastic bag, or with a rolled towel.
- Ease the lace peaks upward so the windows open evenly.
- Let it dry completely before hanging.
Final Quality-Control Checklist
- The panel is 8 in (20.3 cm) x 23 3/4 in (60.3 cm)
- Every pocket round has 90 sts
- Peaks and valleys stack vertically through Rnds 4–9
- The teal wave line is continuous on each pocket
- Each pocket is centered, with a 1/2 in (1.3 cm) margin on both sides
- The pocket bottoms are 6 in (15.2 cm) apart
- Border Rnd 1 has 254 sc and Rnd 2 has 262 sc
- The strap seam is secure and the ring hangs straight
- All ends are woven in on the wrong side
Troubleshooting
- Waves drift sideways: You missed the 1-st shift. Start each round in the 2nd st.
- Count is off: Check that each repeat has exactly 10 sts and that you’re counting every ch-1.
- Pocket flares: The 3-dc peaks are too loose. Use a smaller hook for the ripple rounds.
- Pocket cups inward: The dc3tog valleys are too tight. Loosen your yarn overs.
- Panel edges ripple: Keep border Rnd 1 to 4 sc per 3 rows.
- The roll won’t fit: The base is too small. Remake it with a larger hook.
- The holder tilts: The strap is folded off-center. Re-sew it square.
Care
Hand wash in cool water with mild soap. Lay flat to dry, reshaping each pocket over a roll, and keep it out of a hot dryer.

Final Notes
Each measurement depends on the one before it. A gauge of 16 sts = 4 in (10.2 cm) gives a pocket base of 6 in (15.2 cm) x 4 2/3 in (11.9 cm). That base gives 90 sts, exactly 9 ripple repeats, and the walls reach 3 3/4 in (9.5 cm). The 28-st panel measures 7 in (17.8 cm) x 18 in (45.7 cm), and the border brings it to 8 in (20.3 cm) x 23 3/4 in (60.3 cm). Check each stage before moving on, and the holder will hang straight and hold three rolls neatly.
Happy crocheting!