This wall-hanging toilet paper holder has two pockets. A dusty rose back panel in solid single crochet has a double-arched top, a little like the top of a heart. Two cream pockets in V-stitch openwork sit side by side on the front, and each holds one standard roll. A short rose strap at the center dip loops through a natural wooden ring, so the holder hangs from any wall hook.
The colors are soft and warm: dusty rose for the firm, structured back, and cream for the lighter pockets. The pockets have a lattice of V-stitches crossed by horizontal bars. They let the rolls show through while still holding them securely.
This pattern uses US crochet terms. The finished holder is 12 in (30.5 cm) wide and 11 in (27.9 cm) tall, not counting the strap and ring.
Construction is simple. You work the back panel flat in rows, starting at the bottom, then split the top to shape two arches. A 2-round border goes around the whole panel. Each pocket starts as a small single crochet base, and you work the V-stitch wall around three sides of that base. Finally, you sew the pockets and strap onto the panel.
Finished Size and Construction
- Finished size: 12 in (30.5 cm) wide x 11 in (27.9 cm) tall, plus about 1 in (2.5 cm) of strap above the center dip
- Skill level: Intermediate (easy shaping, V-stitch mesh, sewing)
- Terminology: US
- Yarn weight: Worsted (#4) cotton or cotton blend
- Hook: 4.5 mm (US 7)
- Number of pieces: 4 (1 back panel, 2 pockets, 1 strap), joined into one holder
- Layout: 2 pockets side by side on 1 panel
- Pocket size: 4.5 in (11.4 cm) wide at the back, 4.25 in (10.8 cm) tall, 1.5 in (3.8 cm) deep
- Back panel before border: 11 in (27.9 cm) x 10 in (25.4 cm)
- Border depth: 0.5 in (1.3 cm), 2 rounds of sc
Materials
Choose a firm worsted cotton or cotton blend with about 175 m per 100 g. Cotton holds its shape in a damp bathroom and doesn’t stretch much under the weight of the rolls. Avoid very soft acrylic, because the back panel can sag.
- Color A, Dusty Rose: 120 g / 210 m (back panel, border, strap, sewing)
- Color B, Cream: 75 g / 131 m (2 pockets)
These quantities include a margin of about 15% for your gauge swatch and sewing.
Tools:
- 4.5 mm (US 7) crochet hook
- Wooden ring, 2.75 in (7.0 cm) across
- Tapestry needle
- At least 8 locking stitch markers
- Scissors and a measuring tape
- Pins and a blocking mat
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- dc – double crochet
- sc2tog – single crochet 2 together
- sc3tog – single crochet 3 together
- sk – skip
- st(s) – stitch(es)
- sp – space
- RS – right side
Special stitch – V-stitch (V-st): (dc, ch 1, dc) in the same stitch. In this pattern, one V-st counts as 3 stitches: 2 dc plus 1 ch-1 sp.
Gauge and Checkpoints
Main gauge (Color A): 16 sc and 16 rows = 4 in (10.2 cm).
Pocket gauge (Color B): 1 V-st row plus 1 sc row = 0.8 in (2.0 cm) tall.
The main gauge is square: 4 stitches and 4 rows per inch. The border math depends on it, so test it first. Work a swatch 20 sc wide and 20 rows tall, then measure the middle 4 in (10.2 cm).
- More than 16 sts per 4 in: your piece will be too small, so go up a hook size.
- Fewer than 16 sts per 4 in: your piece will be too big, so go down a hook size.
- Stitches match but rows don’t: adjust how tall you pull up your loops. Rows must match stitches.
Checkpoints:
- Panel after Row 27: 11 in (27.9 cm) wide x 6.75 in (17.1 cm) tall.
- Each arch: 13 rows, 3.25 in (8.3 cm) tall and 2 in (5.1 cm) across the top.
- Panel before border: 11 in (27.9 cm) x 10 in (25.4 cm).
- Panel after border: 12 in (30.5 cm) x 11 in (27.9 cm).
- Pocket base: 4.5 in (11.4 cm) x 1.5 in (3.8 cm).
- Pocket wall: 4.25 in (10.8 cm) tall.

Back Panel (Color A)
Lower Rectangle
Foundation: Ch 45.
Row 1 (RS): Sc in 2nd ch from hook and in each ch across, turn. (44 sc)
Rows 2–27: Ch 1 (does not count as a st throughout), sc in each st across, turn. (44 sc)
Check checkpoint 1. Place a marker between st 22 and st 23 of Row 27. This marks the center dip.
First Arch
Work over the first 22 sts only.
Rows A1–A4: Ch 1, sc in next 22 sts, turn. (22 sc)
Row A5: Ch 1, sc2tog, sc in next 18 sts, sc2tog, turn. (20 sc)
Row A6: Ch 1, sc in each st across, turn. (20 sc)
Row A7: Ch 1, sc2tog, sc in next 14 sts, sc2tog, turn. (16 sc)
Wait: that row removes too many stitches. Use this Row A7 instead:
Row A7: Ch 1, sc2tog, sc in next 16 sts, sc2tog, turn. (18 sc)
Row A8: Ch 1, sc in each st across, turn. (18 sc)
Row A9: Ch 1, sc2tog, sc in next 14 sts, sc2tog, turn. (16 sc)
Row A10: Ch 1, sc2tog, sc in next 12 sts, sc2tog, turn. (14 sc)
Row A11: Ch 1, sc2tog, sc in next 10 sts, sc2tog, turn. (12 sc)
Row A12: Ch 1, sc2tog, sc in next 8 sts, sc2tog, turn. (10 sc)
Row A13: Ch 1, sc2tog, sc in next 6 sts, sc2tog. (8 sc) Fasten off.
The 4 straight rows give each arch steep sides. The faster decreases at the top round it off.
Second Arch
With the RS facing, join A in st 23 of Row 27, right next to the marker. Work Rows A1–A13 exactly as for the first arch over the remaining 22 sts, ending with 8 sc. Fasten off.
Check checkpoints 2 and 3. The two arches touch only at the center dip.
Pockets (Make 2, Color B)
Base
Foundation: Ch 19.
Row 1: Sc in 2nd ch from hook and in each ch across, turn. (18 sc)
Rows 2–6: Ch 1, sc in each st across, turn. (18 sc)
Fasten off. The foundation-chain edge is the back edge, which you’ll sew to the panel. Row 6 is the front edge.
Wall
Setup Row: Hold the base with the RS facing, the front edge toward you, and the back edge away from you. Join B at the back corner of the right short side. Then:
- Work 6 sc along that short side, 1 sc per row end, moving toward the front.
- Work 2 sc in the first st of the front edge, sc in the next 16 sts, and 2 sc in the last st.
- Work 6 sc along the other short side toward the back.
Turn. That’s 6 + 2 + 16 + 2 + 6 = 32 sc.
Row 1 (V-st row): Ch 3 (counts as dc), sk next st, V-st in next st, sk 2 sts, V-st in next st 9 times, sk 1 st, dc in last st, turn. (10 V-sts + 2 dc = 32 sts)
Row 2 (sc row): Ch 1, sc in first dc, sc in next dc, sc in ch-1 sp, sc in next dc 10 times, sc in top of turning ch-3, turn. (32 sc)
Rows 3, 5, 7, 9: Work as Row 1. (32 sts each)
Rows 4, 6, 8, 10: Work as Row 2. (32 sc each)
The V-sts line up in columns because every sc row restores the same 32 sts.
Row 11 (rim): Ch 1, sc in each st across. (32 sc) Rows 10 and 11 together make the solid rim.
Five V and sc row pairs measure 4 in (10.2 cm), and the rim row adds 0.25 in (0.6 cm). That gives a wall height of 4.25 in (10.8 cm). The wall wraps about 8 in (20.3 cm) around the base.
Sewing Edge
Don’t fasten off. Turn the work so you can crochet along the vertical edge of the wall.
- First wall edge: Work 16 sc down the side edge: 2 sc in each V-row end (5 rows x 2 = 10) and 1 sc in each sc-row end (6 rows x 1 = 6).
- Back edge of the base: Work 18 sc along the free loops of the foundation chain.
- Second wall edge: Work 16 sc up the other side edge in the same way.
That’s 16 + 18 + 16 = 50 sc. Fasten off, leaving a 6 in (15.2 cm) tail.
Strap (Color A)
Foundation: Ch 7.
Row 1: Sc in 2nd ch from hook and across, turn. (6 sc)
Rows 2–20: Ch 1, sc in each st across, turn. (6 sc)
The strap measures 1.5 in (3.8 cm) x 5 in (12.7 cm). Fasten off, leaving a 12 in (30.5 cm) tail.
Make All Pieces
- Color A: 1 back panel and 1 strap
- Color B: 2 pockets
Here is the layout on the panel before the border, counted in panel stitches from right to left on the RS:
[ Arch 1 ] [ Arch 2 ] rows A1–A13
| 3 sts | Pocket 1 | 2 sts | Pocket 2 | 3 sts | rows 4–20
| 4–21 : 18 sts | 22–23 | 24–41 : 18 sts |
| rows 1–3 left plain |
The widths add up: 3 + 18 + 2 + 18 + 3 = 44 sts, which is the full width of the panel.
Joining
Method: Whipstitch with Color A and a tapestry needle. Pass through both loops of each pocket edge sc and through one panel stitch.
Stitch-to-stitch logic:
- Pocket base: The 18 back-edge sc go along Row 4 of the panel, 1 sc to 1 panel st. For Pocket 1, that’s panel sts 4–21. For Pocket 2, it’s sts 24–41.
- Wall edges: Each set of 16 edge sc runs straight up from the base corner, 1 sc per panel row, covering Rows 5–20.
Pin all 50 stitches of a pocket before you sew. Because the base is 1.5 in (3.8 cm) deep, the wall stands away from the panel and makes a real pocket.
Tension: Make each whipstitch snug but not tight. The panel should stay flat, with no dimpling. Hide all tails inside the seams.
Strap: Pass the strap through the wooden ring and fold it in half. Lay both ends on the wrong side of the panel, centered on the dip, overlapping the panel by 1.5 in (3.8 cm), or 6 rows. Whipstitch around the overlap. About 1 in (2.5 cm) of each strap leg shows above the dip.
Size checkpoint: Sew the strap after the border is finished. The pocket tops should sit at Row 20, 5 in (12.7 cm) above the bottom edge.
Border (Color A)
Work the border on the panel before you sew on the pockets and strap.
Border gauge: 1 sc per stitch and 1 sc per row end. This works because the main gauge is 4 sts and 4 rows per inch.
Round 1: With the RS facing, join A in the first free loop of the foundation chain at a bottom corner. Ch 1 and work:
- Bottom edge: 3 sc in the corner ch, sc in next 42 ch, 3 sc in the last ch. (48 sc)
- First side: 27 sc, 1 in each row end of Rows 1–27.
- First arch: 13 sc up the outer side, 8 sc across the top, and 12 sc down the inner side (row ends A13–A2). (33 sc)
- Center dip: sc2tog over the A1 row ends of both arches. (1 st)
- Second arch: 12 sc up the inner side, 8 sc across the top, 13 sc down the outer side. (33 sc)
- Last side: 27 sc down the row ends of Rows 27–1.
Sl st to the first sc. Total: 48 + 27 + 33 + 1 + 33 + 27 = 169 sc.
Round 2: Ch 1. Sc in each st around, with two changes:
- Work 3 sc in the center sc of each bottom corner.
- Work sc3tog over the center-dip sc2tog and the sc on each side of it.
Sl st to the first sc. The count is 164 sts worked 1 per stitch, plus 6 sc from the two corners, plus 1 sc3tog: 171 sts. Fasten off.
Why the math works: The gauge is square, so 1 sc per row end lies exactly as flat as 1 sc per stitch. That keeps the sides from rippling or pulling in. The bottom corners gain 2 sts per round so they stay square, and the center dip loses 2 sts so it stays crisp. The 2 rounds add 0.25 in (0.6 cm) each, so every edge grows by 0.5 in (1.3 cm). The panel goes from 11 in (27.9 cm) x 10 in (25.4 cm) to 12 in (30.5 cm) x 11 in (27.9 cm).
Final Blocking
- Block the panel after the border is done and before you sew on the pockets.
- Mist the panel with water, or soak it and press the water out in a towel.
- Pin it to 12 in (30.5 cm) x 11 in (27.9 cm), keeping the bottom straight and the sides parallel.
- Pin each arch into a smooth, even curve. Both arches should be the same height.
- Lightly mist the pockets. Stuff each one with a roll wrapped in plastic so it dries in shape.
- Let everything dry completely, then sew the pockets and strap.
Final Quality-Control Checklist
- The panel measures 12 in (30.5 cm) x 11 in (27.9 cm).
- Both arches are 13 rows tall and match.
- Border Round 2 has 171 sts, with a sharp center dip.
- Each pocket has 10 V-sts per V row and 32 sts per sc row.
- The pocket walls are 4.25 in (10.8 cm) tall, and the V columns line up.
- The pockets sit level, with 3 sts at each outer side and 2 sts between them.
- No seams pucker, and all tails are hidden.
- The strap is centered, and the holder hangs straight.
Troubleshooting
- Arches lean or don’t match: Count each decrease row again. Every decrease row must take away exactly 2 sts.
- Border ripples: Your row gauge is shorter than your stitch gauge. Skip 1 row end every 8 rows, and still finish Round 2 with 171 sts in total.
- Border cups: Add 1 sc on the arch curves where the edge pulls.
- V-sts drift sideways: Make sure Row 2 ends in the top of the turning ch-3.
- Pocket sags forward: Make the base whipstitches tighter, or go down a hook size for the pockets.
- Holder tilts: Re-center the strap on the dip.
Care
Hand wash in cool water with mild soap, then reshape and dry flat. Don’t tumble dry, because cotton can shrink and the arches can lose their shape.

Final Notes
Here is the measurement chain:
- Square gauge: 16 sc and 16 rows = 4 in (10.2 cm).
- Panel: 44 sts x 40 rows = 11 in (27.9 cm) x 10 in (25.4 cm).
- Border: 169, then 171 sts, giving 12 in (30.5 cm) x 11 in (27.9 cm).
- Pockets: 18-st bases with 32-st walls, 4.25 in (10.8 cm) tall, placed 3 + 18 + 2 + 18 + 3 sts across.
If every checkpoint matches, the finished holder will hang straight and hold two rolls securely.
Happy crocheting!