This hanging toilet paper holder keeps three spare rolls tidy on a door or wall. A long teal backing strip narrows at the top into a slim tab that loops around a wooden ring. Three round-bottomed basketweave pockets sit along its front, and each one has a soft cream rim.
There are two colors: deep teal for the backing and pocket bodies, and warm cream for the pocket rims. The style is calm and textured. Chunky woven blocks on the pockets stand out against the plain, dense single crochet of the backing.
This pattern uses US crochet terms. Laid flat with its edging, the backing measures 6.5 in (16.5 cm) wide and 24.5 in (62.2 cm) long. Each pocket is about 7.5 in (19.1 cm) wide when flattened and 4 in (10.2 cm) tall. Hung from the ring, the holder is about 23 in (58.4 cm) long.
Construction is simple. First you crochet one flat backing strip in rows and edge it. Then you make three pockets in the round, starting with a circular base, working up through basketweave post-stitch rounds and finishing with a cream rim. You sew the pockets stitch-to-stitch onto marked rows of the backing, then fold the tab through the ring and stitch it down.
Finished Size and Construction
- Finished size: 6.5 in x 24.5 in (16.5 cm x 62.2 cm) flat; about 23 in (58.4 cm) hanging
- Skill level: Intermediate (front and back post stitches)
- Terminology: US crochet terms
- Yarn weight: Worsted (#4)
- Hook: 5.0 mm (H-8)
- Number of pieces: 4 (1 backing + 3 pockets), plus a 2 in (5.1 cm) wooden ring
- Layout: 3 pockets stacked vertically on 1 backing, 2 in (5.1 cm) apart
- Pocket size: 7.5 in (19.1 cm) wide flattened x 4 in (10.2 cm) tall; base 5 in (12.7 cm) across
- Backing size before border: 6 in x 24 in (15.2 cm x 61.0 cm)
- Border depth: 0.25 in (0.6 cm), one round of single crochet
Materials
Choose a smooth worsted-weight cotton or cotton blend. Cotton holds the pocket shape and copes well with bathroom humidity. Avoid fuzzy yarns because they hide the basketweave texture. The quantities below assume about 190 m per 100 g.
- Teal (Color A): 400 g, about 760 m, for the backing and pocket bodies
- Cream (Color B): 30 g, about 57 m, for the pocket rims
These quantities include a margin of about 15 percent to cover gauge swatches and differences in tension.
Tools:
- 5.0 mm (H-8) crochet hook
- One 2 in (5.1 cm) wooden ring
- Tapestry needle
- 12 locking stitch markers
- Scissors
- Tape measure
- Rust-proof pins and a blocking surface
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- sc2tog – single crochet 2 together
- dc – double crochet
- BLO – back loop only
- FPdc – front post double crochet
- BPdc – back post double crochet
- st(s) – stitch(es)
- rep – repeat
Special stitches:
- FPdc: Yarn over and insert the hook from front to back to front around the post of the indicated stitch. Yarn over and pull up a loop, then (yarn over, pull through 2 loops) twice.
- BPdc: Yarn over and insert the hook from back to front to back around the post of the indicated stitch. Finish it like a regular dc.
Gauge and Checkpoints
- Single crochet: 14 sts and 16 rows = 4 in (10.2 cm)
- Double crochet: 14 sts and 8 rounds = 4 in (10.2 cm)
Make one pocket first. It’s the best gauge test because post stitches show tension problems quickly.
Checkpoints:
- Pocket Rnd 3: about 3.25 in (8.3 cm) across
- Pocket Rnd 5: 5 in (12.7 cm) across
- Finished pocket: 4 in (10.2 cm) tall and 7.5 in (19.1 cm) wide flattened
- Backing Row 16: 6 in (15.2 cm) wide and 4 in (10.2 cm) tall
- Backing Row 72: 18 in (45.7 cm) tall
If your pieces come out too big, go down 0.5 mm in hook size. If they come out too small, go up 0.5 mm. A pocket base smaller than 4.75 in (12.1 cm) across will be too tight for a standard roll.

Backing
With Color A, ch 22.
Row 1: Sc in 2nd ch from hook and in each ch across, turn. (21 sts)
Rows 2–72: Ch 1 (does not count as a st), sc in each st across, turn. (21 sts)
Checkpoint: the strip measures 6 in x 18 in (15.2 cm x 45.7 cm).
Taper
Row 73 (decrease): Ch 1, sc2tog, sc in each st to last 2 sts, sc2tog, turn. (19 sts)
Row 74: Ch 1, sc in each st across, turn. (19 sts)
Rows 75–88: Rep Rows 73–74 seven more times. The counts after each decrease row are 17, 15, 13, 11, 9, 7 and 5. (5 sts after Row 88)
The taper has 8 decrease rows, and each one removes 2 sts, so you go from 21 sts to 21 − 16 = 5 sts. The 16 taper rows add 4 in (10.2 cm) of length.
Tab
Rows 89–96: Ch 1, sc in each st across, turn. (5 sts)
The tab is 1.4 in (3.6 cm) wide and 2 in (5.1 cm) long. Do not fasten off. Go straight on to the Border.
Pockets (Make 3)
Each pocket is a small basket worked in joined rounds. Join each round with a sl st to the first st. The ch 2 at the start of each dc round does not count as a stitch.
Base
With Color A, make a magic ring.
Rnd 1: Ch 2, 12 dc in ring, join. (12 sts)
Rnd 2: Ch 2, 2 dc in each st around, join. (24 sts)
Rnd 3: Ch 2, (dc in next st, 2 dc in next st) 12 times, join. (36 sts)
Rnd 4: Ch 2, (dc in next 2 sts, 2 dc in next st) 12 times, join. (48 sts)
Rnd 5: Ch 2, (dc in next 5 sts, 2 dc in next st) 8 times, join. (56 sts)
Checkpoint: the base lies flat and measures 5 in (12.7 cm) across.
Sides
Rnd 6 (turning round): Ch 2, dc in BLO of each st around, join. (56 sts)
The unused front loops of Rnd 5 make a ridge where the base turns upward. You’ll sew along this ridge later.
Rnd 7: Ch 2, (FPdc around next 4 sts, BPdc around next 4 sts) 7 times, join. (56 sts)
Rnd 8: Rep Rnd 7. (56 sts)
Rnd 9: Ch 2, (BPdc around next 4 sts, FPdc around next 4 sts) 7 times, join. (56 sts)
Rnd 10: Rep Rnd 9. (56 sts)
Rnds 11–12: Rep Rnd 7. (56 sts each)
Each round has 14 blocks of 4 sts. Since 14 is an even number, the blocks alternate cleanly all the way around and don’t clash at the join. Swapping the front and back blocks every 2 rounds gives three bands of woven blocks. Fasten off Color A.
Cream Rim
Rnd 13: Join Color B in any st at the joining seam. Ch 1, sc in each st around, join. (56 sts)
Rnd 14: Ch 1, sc in each st around, join. (56 sts) Fasten off and weave in the ends.
Checkpoint: Rnds 6–12 are 7 dc rounds at 0.5 in (1.3 cm) each, which makes 3.5 in (8.9 cm). The 2 rim rounds add another 0.5 in (1.3 cm), so the sides are 4 in (10.2 cm) tall.
The post stitches pull the sides in slightly, to about 15 in (38.1 cm) around. That gives a flattened width of 7.5 in (19.1 cm) and a snug fit for a roll about 4.5 in (11.4 cm) across.
Make All Pieces
- Color A: 1 backing and 3 pocket bodies
- Color B: 3 rims (Rnds 13–14 on each pocket)
Layout (backing rows counted from the bottom):
Rows 89–96 Tab (folds through ring)
Rows 73–88 Taper
Rows 69–72 Top margin, 1 in
Rows 52–68 Pocket 3 (bottom seam Row 52, top seam Row 68)
Rows 45–51 Gap, 2 in between seams
Rows 28–44 Pocket 2 (bottom seam Row 28, top seam Row 44)
Rows 21–27 Gap, 2 in between seams
Rows 4–20 Pocket 1 (bottom seam Row 4, top seam Row 20)
Rows 1–3 Bottom margin
Each pocket spans 16 rows, or 4 in (10.2 cm), from its bottom seam row to its top seam row.
Border
Work the border on the backing before you join the pockets.
Border gauge: 14 sc per 4 in (10.2 cm), the same as the body, so the edge stays flat.
Rnd 1: Carry on from Row 96 with Color A and ch 1. Work around the whole backing as follows:
- Tab top: 3 sc in first st, sc in next 3 sts, 3 sc in last st. (9 sts, including both corner groups)
- First long side: Along the tab row ends (Rows 96–89), work 7 sc evenly spaced. Along the taper (Rows 88–73), work 1 sc in each row end, for 16 sc. Along the straight section (Rows 72–1), work sc in each of next 7 row ends, skip 1 row end 9 times, for 63 sc. (86 sts)
- Bottom: Working in the free loops of the foundation chain, 3 sc in first st, sc in next 19 sts, 3 sc in last st. (25 sts, including both corner groups)
- Second long side: Work as for the first side but in reverse order: 63 + 16 + 7. (86 sts)
Join with a sl st to the first sc. (206 sts total) Fasten off.
Why the math works: The straight section has 72 rows, which is 18 in (45.7 cm). At 14 sc per 4 in, 18 in needs 63 sts, and 7 sc for every 8 rows gives exactly that. The tab’s 8 rows measure 2 in (5.1 cm) and need 7 sc. The taper edge runs on a diagonal, which is longer than its 4 in height, so 1 sc per row fits it without pulling. Each corner gets a group of 3 sc so the edge turns flat. The total is 9 + 86 + 25 + 86 = 206.
The border adds 0.25 in (0.6 cm) on each edge, so the backing becomes 6.5 in x 24.5 in (16.5 cm x 62.2 cm).
Joining
Use Color A, a tapestry needle and whipstitch. Before you start, place markers at both edges of backing Rows 4, 20, 28, 44, 52 and 68.
- Turn a pocket so its round-join seam sits at the center back. Count 10 sts to each side of the seam stitch and mark them. These 21 sts form the back wall.
- Bottom seam: Whipstitch the 21 free front loops of Rnd 5 to the 21 sts of backing Row 4, one stitch to one stitch. Pick up the front of each backing stitch so the seam doesn’t show on the back.
- Top seam: Whipstitch the 21 marked sts of Rnd 14 to the 21 sts of Row 20, again one to one.
- Side seams: Whipstitch the outer columns of the back wall to the first and last columns of the backing. Each dc round lines up with 2 backing rows, and each sc round lines up with 1 row: 7 × 2 + 2 = 16 rows.
- Repeat for Pocket 2 (Rows 28 and 44) and Pocket 3 (Rows 52 and 68).
The other 35 sts of each pocket curve forward to make the front.
Tension: Pull each stitch snug but not tight. A tight seam makes the backing pucker. A loose seam lets the pocket sag under the weight of a roll.
Ring: Slide the tab through the wooden ring and fold it to the back. Sew the tab’s top edge across the 5 sts of Row 87 on the back.
Size checkpoint: The backing should still be 6.5 in (16.5 cm) wide. The holder hangs about 23 in (58.4 cm) below the ring.
Final Blocking
- Before joining, wet the backing in cool water and roll it in a towel to press out the excess.
- Pin the backing flat to 6.5 in x 24.5 in (16.5 cm x 62.2 cm). Keep the taper edges straight.
- Wet each pocket and stretch it over a toilet roll wrapped in plastic. This sets the round shape.
- Let all the pieces dry completely, which usually takes about 24 hours.
- After joining, steam the seams lightly, holding the iron 1 in (2.5 cm) away. Don’t press the post stitches flat.
Final Quality-Control Checklist
- The backing measures 6.5 in x 24.5 in (16.5 cm x 62.2 cm).
- The backing has 21 sts per row and 96 rows.
- The border round totals 206 sts.
- Every side and rim round of each pocket has 56 sts.
- The basketweave blocks alternate cleanly in three bands.
- Each pocket is 4 in (10.2 cm) tall and sewn across 21 sts at the top and bottom.
- The gaps between pocket seams are 2 in (5.1 cm).
- The tab is sewn securely around the ring.
- All ends are woven in.
Troubleshooting
- Base ruffles: Your tension is loose or you’ve added extra increases. Check that Rnd 5 has 56 sts, or go down a hook size.
- Base cups before Rnd 6: Your tension is tight. Go up a hook size.
- Basketweave blocks shift: Check that each round starts with ch 2 and that the first post stitch goes around the first stitch, not around the join.
- Pocket is too tight for a roll: Block it over a roll, or remake it with a hook 0.5 mm larger.
- Backing edge waves: The border has too many stitches. Check that you worked 7 sc for every 8 rows.
- Backing curls: Block it firmly and leave it pinned until it’s completely dry.
- Pocket sags: Tighten the bottom seam, and add the side seams if you skipped them.
Care
Hand wash in cool water with mild soap. Lay flat to dry, reshaping the pockets over a roll, and do not tumble dry.

Final Notes
Each measurement is easy to check. The backing starts with 21 sts and 72 straight rows, which gives 6 in x 18 in (15.2 cm x 45.7 cm). It narrows over 16 rows to a 5-st tab, and the border brings it to 6.5 in x 24.5 in (16.5 cm x 62.2 cm). Each pocket grows from 12 to 56 sts for a 5 in (12.7 cm) base. It then rises 4 in (10.2 cm) through seven teal rounds and two cream rounds and is sewn on across 21 sts and 16 rows. If every checkpoint matches, the finished holder will hang straight and hold three rolls neatly.
Happy crocheting!