This hanging toilet paper holder adds some holiday charm to the bathroom. A solid burgundy backing panel hangs from a wooden ring, and three dusty-pink filet mesh pockets each hold one spare roll. Each pocket has a burgundy bow worked into the mesh.
The pattern uses two colors. Deep burgundy is for the backing, tab, border, and bows, and soft dusty pink is for the pocket mesh and edging. The look is cozy and festive but quiet enough to leave up after December.
This pattern uses US crochet terms. The finished backing measures 7.0 in x 20.0 in (17.8 cm x 50.8 cm), plus the hanging tab. Each finished pocket measures 9.9 in x 4.5 in (25.1 cm x 11.4 cm) when laid flat.
Here is how it’s built. You work the backing from the bottom up in half double crochet rows, shaping the rounded corners as you go. Then you add a 2-round single crochet border and a tab that folds over the ring. Next you make three filet pockets, working the bow with tapestry-style color changes, and edge each one. Finally, you sew the pockets to the backing so they curve outward.
Finished Size and Construction
- Finished backing size: 7.0 in x 20.0 in (17.8 cm x 50.8 cm)
- Skill level: Intermediate
- Terminology: US crochet terms
- Yarn weight: DK (#3)
- Hook: 4.0 mm (G-6)
- Number of pieces: 4 (1 backing with integrated tab, 3 pockets)
- Layout: 1 column, 3 pockets stacked vertically
- Pocket size: 9.9 in x 4.5 in (25.1 cm x 11.4 cm) flat, after edging
- Backing size before border: 6.0 in x 19.0 in (15.2 cm x 48.3 cm)
- Border depth: 0.5 in (1.3 cm), 2 rounds of sc
Materials
Choose a smooth cotton or cotton-blend DK yarn. Cotton holds its shape, shows the mesh clearly, and copes well with bathroom humidity. Avoid fuzzy yarns, which blur the bow.
- Burgundy (Color A): 100 g / approximately 240 m
- Dusty pink (Color B): 60 g / approximately 145 m
These amounts include a margin of about 20 percent for swatching and sewing.
Tools:
- 4.0 mm (G-6) crochet hook
- Wooden ring, 2 in (5.1 cm) diameter
- Tapestry needle
- 4 to 6 stitch markers
- Rust-proof pins
- Small yarn bobbins for Color A
- Tape measure
- Blocking mats and spray bottle
Abbreviations (US Terms)
- ch – chain
- sc – single crochet
- hdc – half double crochet
- dc – double crochet
- hdc2tog – half double crochet 2 together
- sk – skip
- st(s) – stitch(es)
- sp – space
- RS / WS – right side / wrong side
Open block: ch 1, sk next st or ch-sp, dc in next dc. Each block uses 2 sts: the ch-1 and the dc.
Filled block: dc in next st or ch-sp, dc in next dc. In this pattern, every filled block is worked in Color A.
Color change: work the last dc before the change until 2 loops remain, then finish that dc with the new color.
Gauge and Checkpoints
Make one pocket first. It checks your filet gauge and your color changes at the same time.
- Filet gauge (pocket): 20 sts (10 blocks) and 8 rows = 4 in (10.2 cm). One block is 0.4 in (1.0 cm) wide, and one dc row is 0.5 in (1.3 cm) tall.
- Hdc gauge (backing): 18 hdc and 12 rows = 4 in (10.2 cm).
- Sc gauge (backing border): 4.5 sc = 1 in (2.5 cm).
Checkpoints:
- Pocket Row 1 (47 sts): 9.4 in (23.9 cm) wide.
- Pocket after Row 8: 4.0 in (10.2 cm) tall.
- Pocket after edging: 9.9 in x 4.5 in (25.1 cm x 11.4 cm).
- Backing after Row 4 (27 sts): 6.0 in (15.2 cm) wide.
- Backing after Row 30: 10.0 in (25.4 cm) tall.
- Backing after Row 57: 19.0 in (48.3 cm) tall.
If your piece comes out too big, use a hook 0.5 mm smaller. If it’s too small, use a hook 0.5 mm larger. Being off by up to 0.25 in (0.6 cm) on any measurement is fine.

Backing
Use Color A and work in rows from the bottom up. Rows 1–4 shape the bottom rounded corners and Rows 55–57 shape the top ones.
Row 1 (RS): Ch 23, hdc in 3rd ch from hook and in each ch across. Turn. (21 hdc; the 2 skipped ch do not count as a st.)
Row 2: Ch 1 (does not count as a st here or anywhere else in the backing), 2 hdc in first st, hdc in each st to last st, 2 hdc in last st. Turn. (23 hdc)
Row 3: Repeat Row 2. (25 hdc)
Row 4: Repeat Row 2. (27 hdc)
Rows 5–54: Ch 1, hdc in each st across. Turn. (27 hdc in each of these 50 rows)
Row 55: Ch 1, hdc2tog, hdc in each st to last 2 sts, hdc2tog. Turn. (25 hdc)
Row 56: Repeat Row 55. (23 hdc)
Row 57: Repeat Row 55. (21 hdc)
Don’t fasten off. The backing now measures 6.0 in x 19.0 in (15.2 cm x 48.3 cm), with gently rounded corners at the top and bottom.
Pockets (Make 3)
Use Color B for the mesh and Color A for the bow. Wind a small bobbin of Color A for each separate bow section in a row (up to 3).
Row 1 (RS): With Color B, ch 49, dc in 4th ch from hook and in each ch across. Turn. (47 sts; the 3 skipped ch count as the first dc.)
Row 2: Ch 4 (counts as dc + ch 1), sk next st, dc in next st, ch 1, sk next st, dc in next st; repeat from * across. Turn. (23 open blocks, 47 sts)
Bow chart (Rows 3–7): The chart covers the center 13 blocks of the row. X = filled block in Color A and a dot = open block in Color B. Every row reads the same in both directions, so it works for both RS and WS rows. Start at the bottom with Row 3.
Row 7: XXXX.....XXXX
Row 6: X...XXXXX...X
Row 5: XXXX.XXX.XXXX
Row 4: ...XX...XX...
Row 3: ..XX.....XX..
Each row starts with ch 4 as in Row 2, because the first block is always open. Written out, including the 5 open blocks on each side of the chart:
Row 3: 7 open, 2 filled, 5 open, 2 filled, 7 open. Turn. (23 blocks, 47 sts)
Row 4: 8 open, 2 filled, 3 open, 2 filled, 8 open. Turn. (23 blocks, 47 sts)
Row 5: 5 open, 4 filled, 1 open, 3 filled, 1 open, 4 filled, 5 open. Turn. (23 blocks, 47 sts)
Row 6: 5 open, 1 filled, 3 open, 5 filled, 3 open, 1 filled, 5 open. Turn. (23 blocks, 47 sts)
Row 7: 5 open, 4 filled, 5 open, 4 filled, 5 open. Turn. (23 blocks, 47 sts)
Color handling: Switch to Color A on the last yarn over of the dc before each filled section. Carry Color B inside the Color A stitches, then switch back. Leave each Color A bobbin hanging at the back. The bow moves no more than 1 block per row, so carry Color A inside a Color B dc if you need to move it. Never carry a strand across a ch-1 space.
Row 8: With Color B only, repeat Row 2. Don’t turn. (23 open blocks, 47 sts)
The bow measures 5.2 in x 2.5 in (13.2 cm x 6.4 cm).
Pocket edging (1 round, Color B): With RS facing, ch 1.
- Top: 3 sc in first st (corner), sc in next 45 sts, 3 sc in last st (corner).
- Side: 2 sc in each row-end (16 sc).
- Bottom: working in the free loops of the foundation chain, 3 sc in first loop (corner), sc in next 45, 3 sc in last loop (corner).
- Side: 2 sc in each row-end (16 sc).
Join with a sl st to the first sc. (134 sc)
Per side, counting both corner center stitches: top and bottom have 49 sc each, and each side has 20 sc. Check: 49 + 49 + 20 + 20 − 4 shared corners = 134.
Fasten off, leaving a 30 in (76.2 cm) tail for sewing. Weave the bow ends along the dc posts on the WS so they don’t show.
Make All Pieces
- Color A: 1 backing (with border and tab), plus the bows in all 3 pockets
- Color B: 3 edged pockets
Layout (front view, measured up from the bottom of the finished backing):
[ tab + ring ]
[ top margin 2.5 in (6.4 cm) ]
[ Pocket 1 13.0–17.5 in (33.0–44.5 cm) ]
[ gap 1.5 in (3.8 cm) ]
[ Pocket 2 7.0–11.5 in (17.8–29.2 cm) ]
[ gap 1.5 in (3.8 cm) ]
[ Pocket 3 1.0–5.5 in (2.5–14.0 cm) ]
[ bottom margin 1.0 in (2.5 cm) ]
Check: 1.0 + 4.5 + 1.5 + 4.5 + 1.5 + 4.5 + 2.5 = 20.0 in (50.8 cm).
Border
The border goes around the backing only. The pockets are sewn on afterward, so they don’t add any stitches to the border.
Border gauge: 4.5 sc = 1 in (2.5 cm). The hdc rows are 3 rows = 1 in (2.5 cm), so working 3 sc for every 2 row-ends matches the sc gauge.
Rnd 1 (Color A): Continuing from Row 57, ch 1.
- Top: 3 sc in first st (corner), sc in next 19 sts, 3 sc in last st (corner).
- Side: working in the row-ends, sc in next row-end, 2 sc in next row-end; repeat from * 28 times in total, then sc in last row-end. (85 sc)
- Bottom: working in the free loops of the foundation chain, 3 sc in first loop (corner), sc in next 19, 3 sc in last loop (corner).
- Side: repeat the side instructions. (85 sc)
Join. (220 sc)
Per side, counting both corner centers: top and bottom have 23 sc each, and each long side has 89 sc. Check: 23 + 23 + 89 + 89 − 4 = 220.
Rnd 2: Ch 1, sc in each st around, working 3 sc in each corner center st. Join. (228 sc: the 220 sc from Rnd 1 + 2 extra sc at each of the 4 corners)
Per side: top and bottom have 25 sc each, and each long side has 91 sc. Check: 25 + 25 + 91 + 91 − 4 = 228.
Why the math works: The 57 row-ends at 3 sc per 2 rows give 85 sc, which equals 19.0 in (48.3 cm) at 4.5 sc per inch. Each sc round adds 0.25 in (0.6 cm) per side. That brings the backing to 7.0 in x 20.0 in (17.8 cm x 50.8 cm). Fasten off.
Hanging tab: On the 25-st top edge of Rnd 2, place markers in sts 10 and 16. This leaves 9 sts on each side of the markers. With RS facing, join Color A in st 10.
Row 1: Ch 1, sc in same st and in next 6 sts. Turn. (7 sc)
Rows 2–20: Ch 1, sc in each st across. Turn. (7 sc)
The tab measures 1.6 in x 5.0 in (4.1 cm x 12.7 cm). Slide the ring onto the tab, fold the tab to the WS, and whipstitch Row 20 to the back of Row 1.
Joining
Block the backing first (see Final Blocking). Then pin the pockets at the heights shown in the layout. Each pocket is 9.9 in (25.1 cm) wide and the backing is 7.0 in (17.8 cm) wide. The extra 2.9 in (7.4 cm) becomes the outward curve that holds the roll.
- Sides: Using the Color B tail, whipstitch each pocket side to the inner edge of backing Rnd 2. The 20 pocket side sts line up with 20 border sc over 4.5 in (11.4 cm), so sew 1 pocket st to each border sc.
- Bottom: Whipstitch the bottom edge straight across, gathering the extra width into the center 3 in (7.6 cm) so the pocket forms a shallow cup.
- Top: Leave the top edge open.
Tension: Pull each stitch snug but not tight. The backing should stay flat and not pucker.
Size checkpoint: After sewing, the backing should still measure 7.0 in x 20.0 in (17.8 cm x 50.8 cm). Each pocket should stand out about 2.5 in (6.4 cm) from the backing at its center.
Final Blocking
- Spritz the backing with water until it’s damp.
- Pin it to 7.0 in x 20.0 in (17.8 cm x 50.8 cm), smoothing the corners into even curves.
- Pin each pocket to 9.9 in x 4.5 in (25.1 cm x 11.4 cm) and straighten the mesh so the blocks line up.
- Let everything dry completely.
- After sewing, put a roll in each pocket, mist the pockets lightly, and let them dry around the rolls so they keep their curve.
Final Quality-Control Checklist
- Backing measures 7.0 in x 20.0 in (17.8 cm x 50.8 cm).
- Border Rnd 2 has 228 sc: 25 on the top and bottom, 91 on each long side.
- Each pocket has 47 sts per row, 8 rows, and 134 edging sc.
- Each bow is centered, with 5 open blocks on each side.
- No Color A strands show across the open mesh.
- Pocket bottoms sit 1.0, 7.0, and 13.0 in (2.5, 17.8, and 33.0 cm) above the bottom edge.
- The tab is centered and sewn securely.
Troubleshooting
Mesh blocks look tall: Your dc stitches are too tall. Pull up shorter loops or use a hook 0.5 mm smaller.
Burgundy shows through the mesh: Add bobbins, and never carry yarn across a ch-1 space.
Backing edges ripple: You worked too many sc. Recount to 85 sc per long side in Rnd 1.
Backing edges pull in: You worked too few sc. Keep to the 3-sc-per-2-rows ratio.
Roll won’t fit: Loosen the bottom gather slightly.
Holder hangs crooked: The tab is off center. Recount the 9 sts on each side of it.
Care
Hand wash in cool water with mild soap. Reshape the pockets around rolls and let it dry flat.

Final Notes
Each measurement builds on the one before it. A pocket gauge of 20 sts = 4 in (10.2 cm) gives a 9.4 in (23.9 cm) panel, which edges to 9.9 in x 4.5 in (25.1 cm x 11.4 cm). A backing gauge of 18 hdc = 4 in (10.2 cm) gives a 6.0 in x 19.0 in (15.2 cm x 48.3 cm) panel. The border adds 0.5 in (1.3 cm) per side, for 7.0 in x 20.0 in (17.8 cm x 50.8 cm). The three pockets and the gaps between them fill that height exactly.
Check each stage before you move on, and your holder will hang straight and hold its rolls neatly.
Happy crocheting!