This wall-hanging toilet paper holder pairs a firm sand-beige backing panel with a soft peach-and-beige shell-stitch pocket. The pocket holds one standard roll upright. A short tab loops around a wooden ring so the holder hangs from a single hook.
The backing is an elongated hexagon-style panel with a flat top, flat bottom, angled corners and short straight sides, worked in dense single crochet. The pocket alternates rows of peach and beige fans and finishes with a peach top edge. The look is warm, calm and modern.
The pattern uses US crochet terms. Without the tab and ring, the finished holder measures 8.5 in (21.6 cm) wide by 10.5 in (26.7 cm) tall.
You work the backing in rows from the bottom up, add a two-round border, then work the tab. The pocket is one piece: a half-circle base with a shell-stitch wall worked up from its curved edge. Last, you sew the pocket to the panel.
Finished Size and Construction
- Finished size: 8.5 in (21.6 cm) x 10.5 in (26.7 cm), plus tab and ring
- Skill level: Easy to intermediate
- Terminology: US crochet terms
- Yarn weight: Worsted (#4) cotton or cotton blend
- Hook: 4.5 mm (US 7)
- Number of pieces: 2 crocheted pieces (backing panel with tab, pocket) plus 1 wooden ring
- Layout: Pocket centered on the lower half of the panel
- Panel size before border: 7.5 in (19.1 cm) x 9.5 in (24.1 cm)
- Border depth: 0.5 in (1.3 cm) on every edge
- Pocket size: 6 in (15.2 cm) wide at the wall, 3 in (7.6 cm) deep, 3.5 in (8.9 cm) tall
Materials
Choose a smooth worsted cotton. Cotton keeps its shape against the wall, doesn’t stretch much under the weight of a roll, and shows the shell texture clearly. Avoid fuzzy or very stretchy yarns.
- Beige (main color): 70 g / 120 m
- Peach (contrast color): 25 g / 45 m
These quantities include a margin of about 20 percent for a gauge swatch and weaving in ends.
Tools:
- 4.5 mm (US 7) crochet hook
- Tapestry needle
- At least 8 locking stitch markers
- Wooden ring, 2 in (5.1 cm) in diameter
- Scissors and tape measure
- Rustproof pins and a blocking mat
Abbreviations (US Terms)
- ch – chain
- sc – single crochet
- dc – double crochet
- sl st – slip stitch
- sc2tog – single crochet 2 together
- BLO – back loop only
- sk – skip
- st(s) – stitch(es)
- RS – right side
Shell: 5 dc in the same stitch.
Half shell: At the start of a row, ch 3 (counts as dc) and work 2 dc in the first stitch. At the end of a row, work 3 dc in the last stitch.
Gauge and Checkpoints
Gauge matters because the pocket has to line up with the panel.
- Single crochet: 16 sts and 16 rows = 4 in (10.2 cm), which is 4 sts and 4 rows per inch.
- Shell pattern: 37 sts = 9.25 in (23.5 cm) wide, and 2 shell rows = 1 in (2.5 cm) tall.
Make the backing panel first, because it doubles as your swatch. After Row 7 it should be 7.5 in (19.1 cm) wide. If it’s wider, go down half a hook size. If it’s narrower, go up half a size and start again.
Checkpoints:
- Panel after Row 7: 7.5 in (19.1 cm) wide.
- Panel after Row 38: 9.5 in (24.1 cm) tall.
- Panel after the border: 8.5 in (21.6 cm) x 10.5 in (26.7 cm).
- Pocket base after Row 12: 6 in (15.2 cm) along the straight edge and 3 in (7.6 cm) deep.
- Pocket after Row 20: the wall is 3.5 in (8.9 cm) tall.

Backing Panel
Use beige. The ch 1 at the start of a row doesn’t count as a stitch. Turn at the end of every row.
Row 1: Ch 19, sc in 2nd ch from hook and in each ch across. (18 sts)
The bottom edge is now 4.5 in (11.4 cm) wide.
Increase rows: Ch 1, 2 sc in first st, sc in each st to last st, 2 sc in last st.
- Row 2: 20 sts
- Row 3: 22 sts
- Row 4: 24 sts
- Row 5: 26 sts
- Row 6: 28 sts
- Row 7: 30 sts
Rows 8–31: Ch 1, sc in each st across. (30 sts)
These 24 rows make the straight sides, which are 6 in (15.2 cm) tall.
Decrease rows: Ch 1, sc2tog, sc in each st to last 2 sts, sc2tog.
- Row 32: 28 sts
- Row 33: 26 sts
- Row 34: 24 sts
- Row 35: 22 sts
- Row 36: 20 sts
- Row 37: 18 sts
Row 38: Ch 1, sc in each st across. (18 sts)
Don’t fasten off. The panel now has eight edges: the bottom, two lower diagonals, two sides, two upper diagonals and the top.
Border
The border keeps the panel’s gauge of 4 sc per inch along every edge. Mark each corner stitch as you make it.
Round 1: Ch 1. Starting down the upper diagonal next to your hook, work around the whole panel. The edge counts below don’t include the corner stitches.
- Each upper diagonal (7 row ends, Rows 32–38): 9 sc. Work 1 sc in each row end, plus 1 extra sc in the 3rd and 6th row ends.
- Each side (Rows 8–31): 24 sc, 1 in each row end.
- Each lower diagonal (7 row ends, Rows 1–7): 9 sc, worked the same way as the upper diagonals.
- Bottom: 18 sc, 1 in each foundation ch.
- Top: 18 sc, 1 in each st of Row 38.
- Each of the 8 corners: 1 extra sc, in the same place as the last sc of the edge you just finished. Mark it.
Sl st to the first sc to join.
Edges: 18 + 18 + (2 x 24) + (4 x 9) = 120. Corners: 8. Total: 128 sts.
Round 2: Ch 1, sc in each st around, with 2 sc in each marked corner st. Sl st to the first sc.
Count: 128 worked one per stitch + 8 extra = 136 sts. Each edge keeps its count (bottom 18, top 18, sides 24, diagonals 9), and each of the 8 corners now has 2 sc. Fasten off.
Why the math works: Each edge’s stitch count matches its real length at 4 sts per inch. The top and bottom are 4.5 in (11.4 cm), so they get 18 sc. The sides are 6 in (15.2 cm), so they get 24 sc. Each diagonal runs 1.5 in (3.8 cm) across and 1.75 in (4.4 cm) up, a slant of about 2.3 in (5.8 cm), so it gets 9 sc. The corners are wide angles, so one increase per corner per round keeps them flat. Two rounds add 0.5 in (1.3 cm) to every edge. That takes the panel from 7.5 in (19.1 cm) x 9.5 in (24.1 cm) to 8.5 in (21.6 cm) x 10.5 in (26.7 cm).
Hanging Tab
With the RS facing, join beige in the center 6 sts of the top edge. That leaves 6 sts free on each side, not counting the corner pairs.
Rows 1–14: Ch 1, sc in each of the 6 sts, turn. (6 sts)
The tab is 1.5 in (3.8 cm) wide and 3.5 in (8.9 cm) long. Fasten off, leaving a 12 in (30.5 cm) tail. Pass the tab through the wooden ring from front to back and fold it down behind the panel. Sew Row 14 to the back of the panel at the base of the tab.
Pocket Base
Use beige. Turn at the end of every row. The ch 1 doesn’t count as a stitch.
Row 1: Make a magic ring, ch 1, work 3 sc in the ring and pull it closed. (3 sts)
Row 2: Ch 1, 2 sc in each st. (6 sts)
Row 3: Ch 1, (sc in next st, 2 sc in next st) 3 times. (9 sts)
Rows 4–12: Ch 1, (sc in each of the next sts until 1 st remains in the section, 2 sc in next st) 3 times. Each row has 3 more stitches than the one before.
- Row 4: 12 sts
- Row 5: 15 sts
- Row 6: 18 sts
- Row 7: 21 sts
- Row 8: 24 sts
- Row 9: 27 sts
- Row 10: 30 sts
- Row 11: 33 sts
- Row 12: 36 sts
You now have a half circle that is 6 in (15.2 cm) along the straight edge and 3 in (7.6 cm) deep.
Pocket Wall
Row 13 (turning ridge, beige): Ch 1. Working in BLO along the curved edge, sc in each of the next 17 sts, 2 sc in the next st, then sc in each of the last 18 sts. Count: 36 worked one per stitch + 1 extra = 37 sts. Fasten off.
Working in the back loop only creates a crisp fold, so the wall stands up from the base.
From here on, cut the yarn at the end of every row and leave 4 in (10.2 cm) tails. The tails get hidden in the side seams later.
Shell Row A: Ch 3 (counts as dc), 2 dc in first st, sk 2 sts, sc in next st, sk 2 sts, 5 dc in next st; rep from * 4 more times, sk 2 sts, sc in next st, sk 2 sts, 3 dc in last st. Count: 2 half shells (6) + 5 shells (25) + 6 sc = 37 sts.*
Shell Row B: Ch 1, sc in first st, sk 2 sts, 5 dc in next st (the sc below), sk 2 sts, sc in next st (the center dc of the shell below); rep from * 5 more times. Count: 6 shells (30) + 7 sc = 37 sts.*
Turn before each new row:
- Row 14: Peach, Shell Row A (37 sts)
- Row 15: Beige, Shell Row B (37 sts)
- Row 16: Peach, Shell Row A (37 sts)
- Row 17: Beige, Shell Row B (37 sts)
- Row 18: Peach, Shell Row A (37 sts)
- Row 19: Beige, Shell Row B (37 sts)
Each row of fans sits in the gaps of the row below, which gives the stripes their offset, scalloped look.
Row 20 (top trim, peach): Ch 1, sc in each st across. (37 sts) Fasten off.
The wall is 9.25 in (23.5 cm) across and 3.5 in (8.9 cm) tall. That height is 0.25 in (0.6 cm) for Row 13, 3 in (7.6 cm) for the six shell rows, and 0.25 in (0.6 cm) for Row 20.
Make All Pieces
Make one of each piece:
- Beige: The backing panel with its border and tab, plus the pocket base and pocket Rows 13, 15, 17 and 19
- Peach: Pocket Rows 14, 16, 18 and 20
Layout (front view):
( ring )
|tab|
___________________
/ \
| |
| open space |
| _______________ |
| | peach / beige | |
| | shell pocket | |
\ |_______________| /
\_________________/
Joining
Use a long strand of beige and whipstitch. Catch both loops of the pocket edge and one full stitch of the panel each time, so the seam doesn’t show through to the back.
- Position the base. Center the straight edge of the pocket base 1.5 in (3.8 cm) above the panel’s bottom edge, with 1.25 in (3.2 cm) of panel showing on each side. Pin both ends and the center.
- Sew the base. Work 1 whipstitch into each of the 24 row ends and 1 into the magic ring, in a straight horizontal line.
- Sew the sides. Stand the wall up. Sew each side edge (Rows 13–20) straight up the panel from the end of the base. Use 1 whipstitch per sc row end and 2 per shell row end, and tuck the color tails into the seam.
- Leave the top open.
Keep your tension firm but relaxed. A tight seam puckers the panel, and a loose seam lets the pocket sag under the roll.
Checkpoint: The opening should be 6 in (15.2 cm) wide at the wall and stand 3 in (7.6 cm) out from it. The panel should still measure 8.5 in (21.6 cm) x 10.5 in (26.7 cm) and lie flat.
Final Blocking
- Weave in all remaining ends on the back.
- Mist the whole piece lightly with water.
- Lay the panel face up and pin all 8 corners first, to 8.5 in (21.6 cm) x 10.5 in (26.7 cm).
- Check that the matching diagonals are the same length.
- Fill the pocket with a rolled hand towel to shape the curve and open up the fans.
- Let everything dry completely before you remove the pins.
Final Quality-Control Checklist
- The panel measures 8.5 in (21.6 cm) x 10.5 in (26.7 cm).
- All 8 corners lie flat.
- Border Round 2 has 136 sts.
- Pocket base Row 12 has 36 sts and lies flat.
- Every shell row has 37 sts and the fans are evenly offset.
- The stripes alternate and finish with a peach top edge.
- The pocket is centered and sewn on straight.
- The tab is secure and the ring turns freely.
- No ends show on the front.
Troubleshooting
- Corners ruffle: Work only 1 extra sc per corner in each round.
- Corners pull in: Loosen up at the corners, or work the border with a hook half a size larger.
- Pocket base cups: Go up half a hook size for the base.
- Pocket base ruffles: Stagger where the increases fall on alternate rows.
- Shells lean: Make sure each shell goes into the sc below, not into a neighboring dc.
- Wall won’t match the base: Recount Row 13. It must have 37 sts.
- Holder tilts: The tab is off center. Re-sew it over the center 6 sts.
Care
Hand wash in cool water with a mild soap, press out the water in a towel, and dry flat. Reshape the pocket while it’s still damp.

Final Notes
Here’s the measurement chain. Gauge is 4 sts and 4 rows per inch. The panel is 7.5 in (19.1 cm) x 9.5 in (24.1 cm) before the border. The border adds 0.5 in (1.3 cm) to each edge, giving 8.5 in (21.6 cm) x 10.5 in (26.7 cm). The pocket base has a 6 in (15.2 cm) straight edge and a 36-st curve. Row 13 takes it to 37 sts, and the wall stays at 37 sts up to 3.5 in (8.9 cm) tall. If every checkpoint matches, the pocket fits the panel and holds a standard roll upright.
Happy crocheting!