This hanging toilet paper holder has a long, sturdy single crochet panel, two hanging tabs at the top, and three round, open-topped pockets sewn down the front. Each pocket holds one standard roll upright. A pocket has a solid base and lower band, then three tiers of shell fans with open V-shaped gaps, and a neat single crochet rim.
The sample uses one warm greige (oat/taupe) worsted cotton. A single color keeps the look calm and spa-like and lets the shell texture stand out. It looks especially good hanging from a brass or wooden towel bar.
This pattern uses US crochet terms. The finished panel measures 6 in (15.2 cm) wide by 24.5 in (62.2 cm) long, plus hanging loops. Each pocket is 4.75 in (12.1 cm) across the base and about 3.3 in (8.4 cm) tall.
The construction is simple. You crochet the panel in rows, add one border round, and then work two tabs straight off the top edge. Each pocket is worked in joined rounds from the base up. Last, you sew each pocket to the panel along a measured line, matching stitch to stitch.
Finished Size and Construction
- Finished panel size: 6 in x 24.5 in (15.2 cm x 62.2 cm), not counting loops
- Skill level: Easy / Intermediate
- Terminology: US crochet terms
- Yarn weight: Worsted (#4), cotton or cotton blend
- Hook: 5.0 mm (US H-8)
- Number of pieces: 4 (1 back panel with tabs, 3 pockets)
- Layout: 3 pockets stacked in one vertical column
- Panel size before border: 5.5 in x 24 in (14.0 cm x 61.0 cm)
- Border depth: 1 round of sc, 0.25 in (0.6 cm) on each side
- Pocket size: 4.75 in (12.1 cm) base diameter, 15 in (38.1 cm) around, about 3.3 in (8.4 cm) tall
- Tabs: 1.5 in x 6 in (3.8 cm x 15.2 cm) each, folded into loops
Materials
Use a smooth worsted cotton or cotton blend. Cotton holds its shape, doesn’t stretch much under the weight of the rolls, and copes well with bathroom humidity. Very stretchy acrylics will make the panel sag.
- Color A, greige / oat: 300 g (about 510 m)
- Panel, border, and tabs: about 120 g (204 m)
- 3 pockets: about 135 g (230 m), roughly 45 g each
These amounts assume a cotton of about 170 m per 100 g. They include a safety margin of about 15 percent.
Tools:
- 5.0 mm (US H-8) crochet hook
- Tapestry needle
- 6 to 8 locking stitch markers
- Measuring tape
- Blocking pins
- Scissors
- Spray bottle and blocking mat or towel
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- dc – double crochet
- st(s) – stitch(es)
- sp – space
- BLO – back loop only
- inc – 2 sc in the same st
- MR – magic ring
- RS – right side
Special stitch – Shell: 5 dc in the same stitch.
Special stitch – V-bridge: ch 2, dc in next sc, ch 2. This makes the open triangular gaps between the fans.
Gauge and Checkpoints
Gauge: 16 sc and 18 rows = 4 in (10.2 cm), in sc worked in rows.
That works out to 4 sts and 4.5 rows per inch. Every measurement in this pattern comes from those two numbers.
Test one piece first. Make a pocket base (Rounds 1–10) before you start the panel. It’s small and quick, and it shows right away whether your gauge matches.
Checkpoints:
- Pocket base after Round 5: about 2.4 in (6.1 cm) across
- Pocket base after Round 10: 4.75 in (12.1 cm) across
- Panel after Row 18: 5.5 in x 4 in (14.0 cm x 10.2 cm)
- Panel after Row 108: 5.5 in x 24 in (14.0 cm x 61.0 cm)
- Panel after border: 6 in x 24.5 in (15.2 cm x 62.2 cm)
If your piece is too big, go down 0.5 mm in hook size. If it’s too small, go up 0.5 mm. A base that’s too small won’t fit a roll, and one that’s too large will flop.

Back Panel
Ch 23.
Row 1: Sc in 2nd ch from hook and in each ch across, turn. (22 sc)
Rows 2–108: Ch 1 (does not count as a st), sc in each st across, turn. (22 sc)
Measure at Row 54: the panel should be 12 in (30.5 cm) long. At Row 108 it should be 24 in (61.0 cm). Don’t fasten off. Go straight into the border.
Border
The border uses the same gauge as the panel, 4 sc per inch. One round adds 0.25 in (0.6 cm) on every side.
Border Round 1 (RS): Ch 1, do not turn.
- Top edge: 3 sc in first st, sc in next 20 sts, 3 sc in last st.
- First long side: Working into row ends, sc in each of next 8 row ends, skip 1 row end; repeat from * 11 more times. (96 sc)
- Bottom edge: Working into the unused loops of the foundation chain, 3 sc in first ch, sc in next 20 ch, 3 sc in last ch.
- Second long side: Repeat the row-end sequence. (96 sc)
- Sl st to first sc. (244 sc)
Counts per side (each side includes its 2 corner center stitches):
- Top: 24 sts
- Each long side: 100 sts
- Bottom: 24 sts
- Check: 24 + 100 + 24 + 100 = 248. Subtract the 4 corner centers that were counted twice: 248 − 4 = 244.
Why the math works: Each long edge is 108 rows. At 4.5 rows per inch, that’s 24 in (61.0 cm), and at 4 sts per inch, 24 in needs 96 sts. Working 8 sc into every 9 row ends gives 108 ÷ 9 x 8 = 96 exactly. The short edges have 22 sts each. On each, you work 20 straight sc plus a 3-sc corner group at each end, so the top side ends up with 24 sts. At 4 sts per inch, 24 sts is 6 in (15.2 cm), which matches the bordered width.
Fasten off and weave in the end.
Hanging Tabs
The tabs are worked off the 24 sts of the top side. Number them 1–24 from right to left. Sts 1 and 24 are the corner centers.
Tab 1: With RS facing, join yarn in st 2.
- Row 1: Ch 1, sc in same st and in next 5 sts (sts 2–7), turn. (6 sc)
- Rows 2–27: Ch 1, sc in each st across, turn. (6 sc)
Fasten off, leaving a 12 in (30.5 cm) tail.
Tab 2: Skip sts 8–17 (10 sts). With RS facing, join yarn in st 18 and work Rows 1–27 over sts 18–23. St 24 stays unworked.
Check: 1 + 6 + 10 + 6 + 1 = 24 sts. Each tab measures 1.5 in x 6 in (3.8 cm x 15.2 cm).
Make the loops: Fold each tab to the back so its last row sits 1.5 in (3.8 cm) below the top edge. Whipstitch it in place without coming through to the front. Each loop is about 4.5 in (11.4 cm) around and fits rods up to about 1.25 in (3.2 cm) across.
Pockets (Make 3)
Work each pocket in joined rounds. The ch 1 at the start of a round does not count as a stitch. Join every round with a sl st to the first st.
Base
Round 1: 6 sc in MR, join. (6)
Round 2: Ch 1, inc in each st around, join. (12)
Round 3: Ch 1, sc in next st, inc; repeat around, join. (18)
Round 4: Ch 1, sc in next 2 sts, inc; repeat around, join. (24)
Round 5: Ch 1, sc in next 3 sts, inc; repeat around, join. (30)
Round 6: Ch 1, sc in next 4 sts, inc; repeat around, join. (36)
Round 7: Ch 1, sc in next 5 sts, inc; repeat around, join. (42)
Round 8: Ch 1, sc in next 6 sts, inc; repeat around, join. (48)
Round 9: Ch 1, sc in next 7 sts, inc; repeat around, join. (54)
Round 10: Ch 1, sc in next 8 sts, inc; repeat around, join. (60)
The base should be a flat circle 4.75 in (12.1 cm) across and 15 in (38.1 cm) around, which is 60 sts at 4 sts per inch.
Solid Lower Wall
Round 11: Ch 1, sc BLO in each st around, join. (60) This turns the wall upward. It leaves a ridge of unused front loops around the base, which you’ll use for sewing.
Rounds 12–14: Ch 1, sc in each st around, join. (60)
The solid wall is now about 0.9 in (2.3 cm) tall.
Shell Lace
Round 15 (shell round): Ch 1, sc in first st, skip 2 sts, shell in next st, skip 2 sts, sc in next st; repeat from * 8 more times, skip 2 sts, shell in next st, skip 2 sts, join to first sc. (10 shells: 50 dc + 10 sc = 60 sts)
Round 16 (V-bridge round): Sl st in next 3 dc to reach the center dc of the first shell. Ch 1, sc in same st, ch 2, dc in next sc, ch 2, sc in center dc of next shell; repeat from * 8 more times, ch 2, dc in next sc, ch 2, join to first sc. (10 sc + 10 dc + 40 ch = 60, with 20 ch-2 sps)
Round 17 (shell round): Ch 1, sc in first sc, skip ch-2 sp, shell in next dc, skip ch-2 sp, sc in next sc; repeat from * 8 more times, skip ch-2 sp, shell in next dc, skip ch-2 sp, join to first sc. (10 shells: 50 dc + 10 sc = 60 sts)
The new shells sit above the dc of the V-bridges, so each tier of fans is offset from the one below.
Round 18: Repeat Round 16. (10 sc + 10 dc + 40 ch = 60)
Round 19: Repeat Round 17. (60 sts, 10 shells)
Rim
Round 20: Ch 1, sc in each sc and dc around, join. (60 sc)
Fasten off, leaving a 24 in (61.0 cm) tail for sewing.
Pocket checkpoint: 15 in (38.1 cm) around the rim and 3 to 3.5 in (7.6 to 8.9 cm) tall. A standard roll should drop in easily and stand about 0.75 in (1.9 cm) above the rim.
Make All Pieces
- Back panel with border and tabs: 1, Color A
- Pockets: 3, Color A
Layout grid (panel rows counted from the bottom, Row 1 = first row):
Rows 85–108 | open panel, top roll space (about 5.6 in / 14.2 cm with border)
Rows 70–84 | POCKET 3 (base line Row 70, rim line Row 84)
Rows 52–69 | gap, 18 rows (4 in / 10.2 cm)
Rows 37–51 | POCKET 2 (base line Row 37, rim line Row 51)
Rows 19–36 | gap, 18 rows (4 in / 10.2 cm)
Rows 4–18 | POCKET 1 (base line Row 4, rim line Row 18)
Rows 1–3 | bottom margin (about 0.9 in / 2.3 cm with border)
Check: 24 + 15 + 18 + 15 + 18 + 15 + 3 = 108 rows.
Joining the Pockets
Each pocket is sewn flat against the panel along 20 of its 60 stitches. That’s one-third of the circle: 20 sts at 4 sts per inch = 5 in (12.7 cm).
Mark the pocket back: On the rim, place markers so that 20 sts sit between them, centered on a sc between two shells. Place matching markers in the Round 11 front loops directly below.
Mark the panel: Centering 20 sts across the 22 body sts leaves 1 st on each side. Mark sts 2 and 21 on each pocket’s base-line row and rim-line row. That leaves 0.5 in (1.3 cm) between each pocket edge and the outer edge of the border.
Sew stitch to stitch:
- Base line: Use the long tail to whipstitch each of the 20 marked Round 11 front loops to one panel st on the base-line row.
- Rim line: Whipstitch each of the 20 marked rim sts to one panel st on the rim-line row, 15 rows higher.
- Sides: Tack both vertical edges of the back wall to the panel every 0.25 in (0.6 cm).
Tension: Sew firmly enough that the pocket back lies flat, but don’t pull. If the panel puckers, loosen your stitches with the needle before you tie off.
Size checkpoint: With all 3 pockets attached, the panel should still measure 6 in x 24.5 in (15.2 cm x 62.2 cm).
Final Blocking
- Lay the holder flat on a blocking mat or towel, RS up.
- Pin the panel to 6 in x 24.5 in (15.2 cm x 62.2 cm) and keep the long edges straight.
- Stuff each pocket lightly with a rolled towel so it holds a round shape.
- Spray the whole piece until it’s damp but not soaked.
- Use your fingers to open each shell fan evenly and straighten the V-bridges.
- Let it dry completely, at least 12 hours.
- Unpin, remove the stuffing, and hang.
Final Quality-Control Checklist
- The panel is 22 sts by 108 rows before the border.
- The border has 244 sc: 24 sts on the top and bottom and 100 on each long side, corners included.
- Both tabs are 6 sts x 27 rows, with 10 sts between them.
- Each pocket rim has 60 sc above 3 offset tiers of 10 shells.
- The pockets are centered, level, and placed on the rows in the layout grid.
- All ends are woven in on the wrong side.
- Each pocket holds a roll upright.
Troubleshooting
Long edges ripple: You have too many border sts. Recount the 8-in-9 row-end sequence.
Long edges pull in: You have too few border sts, or your tension is tight. Redo the round more loosely.
Base cups before Round 11: Your sts are tight. Go up 0.5 mm for the base.
Base ruffles: Your sts are loose. Go down 0.5 mm.
Shells twist: Make sure each shell goes into the dc of a V-bridge, not into a ch-2 sp.
Roll doesn’t fit: Add one more increase round after Round 10 (sc in next 9 sts, inc, 66 sts), then work 11 shells instead of 10.
Panel sags: Sew the base lines and sides firmly, not just the rims.
Care
Hand wash in cool water with mild soap, roll in a towel to remove the water, and dry flat. Reshape the pockets around a roll while they’re still damp.

Final Notes
Every measurement here comes from one gauge: 4 sts and 4.5 rows per inch. At that gauge, a 22-st, 108-row panel measures 5.5 in x 24 in (14.0 cm x 61.0 cm). One border round brings it to 6 in x 24.5 in (15.2 cm x 62.2 cm). A 60-st pocket base measures 4.75 in (12.1 cm) across, and 20 of its sts sew flat across 5 in (12.7 cm) of the panel. The row-based grid spaces the pockets with even 4 in (10.2 cm) gaps. If you match the gauge and check each stage, the pieces will line up the first time.
Happy crocheting!