This hanging holder stores three spare toilet rolls in a slim vertical stack. It has a cream single crochet back panel and three round cups with a raised basketweave band and chocolate-brown stripes and rims. A wooden ring at the top hangs it from a hook, towel bar, or door.
The palette is two calm neutrals. Soft cream is used for the panel and the basketweave, and deep cocoa brown for the stripes and the chunky rope rim. Together they give a warm farmhouse look that suits most bathrooms.
The pattern uses US crochet terms. Laid flat, the finished holder measures 5 in (12.7 cm) wide and 20.5 in (52.1 cm) long. With the tab folded over the ring, it hangs about 19.25 in (48.9 cm) from the bottom edge to the top fold. Each cup is 4.75 in (12.1 cm) across and 4 in (10.2 cm) tall.
You crochet four pieces: one flat panel worked in rows and three cups worked in joined rounds. You then sew the cups to the panel, work one border round around the panel, and fold the tab over the ring.
Finished Size and Construction
- Finished size: 5 in x 20.5 in (12.7 cm x 52.1 cm) flat; hangs about 19.25 in (48.9 cm)
- Skill level: Intermediate (post stitches, color changes, seaming)
- Terminology: US
- Yarn weight: Worsted (#4) cotton
- Hook: 5.0 mm (H-8)
- Number of pieces: 4 (1 back panel, 3 cups)
- Layout: 3 cups stacked vertically on one panel
- Cup size: 4.75 in (12.1 cm) diameter x 4 in (10.2 cm) tall
- Panel size before border: 4.5 in x 20 in (11.4 cm x 50.8 cm)
- Border depth: 0.25 in (0.6 cm) on every edge
Materials
Choose a firm worsted-weight cotton or cotton blend. Cotton holds the cup shape, shows off the post stitches clearly, and copes well with bathroom humidity. Very soft acrylic can let the cups sag.
- Cream: 150 g, about 255 m (panel, cup bases, basketweave, cream stripe)
- Cocoa brown: 50 g, about 85 m (stripes and rims)
Both quantities include a margin of roughly 15 to 20 percent for your test cup and normal differences in tension.
Tools:
– 5.0 mm (H-8) crochet hook
– Wooden ring, 3 in (7.6 cm) outer diameter
– Tapestry needle
– 8 locking stitch markers
– Measuring tape and scissors
– Pins or clips
– A spare toilet roll to use as a shaping form
Abbreviations (US Terms)
- ch: chain
- sl st: slip stitch
- sc: single crochet
- sc2tog: single crochet 2 together (decrease)
- dc: double crochet
- FPdc: front post double crochet
- BPdc: back post double crochet
- BLO: back loop only
- rev sc: reverse single crochet (crab stitch)
- st(s): stitch(es)
- rnd(s): round(s)
Special stitch: reverse single crochet. Work from left to right (if you are right-handed). Insert the hook in the next stitch to the right, yarn over, and pull up a loop. Yarn over again and pull through both loops on the hook. This stitch makes the twisted, rope-like rim.
Gauge and Checkpoints
Gauge: 16 sts and 18 rows of sc = 4 in (10.2 cm). In the basketweave, 16 sts and 8 rnds = 4 in (10.2 cm). That means one sc row or round is about 0.22 in tall, and one dc or post-stitch round is about 0.5 in (1.3 cm) tall.
Make one cup first. It is the best gauge test, because it has to fit a roll.
Checkpoints:
– Cup base after Rnd 3: about 2.9 in (7.4 cm) across
– Cup base after Rnd 5: 4.75 in (12.1 cm) across, lying flat
– Cup wall after Rnd 9: about 0.9 in (2.3 cm) tall
– Cup wall after Rnd 14: about 3.4 in (8.6 cm) tall
– Finished cup: 4 in (10.2 cm) tall, and a roll slides in easily
– Panel after Row 18: 4 in (10.2 cm) long and 4.5 in (11.4 cm) wide
If the cup is too small and a roll will not fit, go up to a 5.5 mm (I-9) hook. If the cup is too big and the roll wobbles, go down to a 4.5 mm (7) hook. Change the hook, not the stitch count, because the basketweave repeat needs exactly 60 stitches.

Cup (Make 3)
Work in joined rounds without turning. Start each round with the ch shown; it does not count as a stitch. Join each round with a sl st to the first stitch. To change color, work that joining sl st with the new color. Carry the unused color loosely up the inside of the wall.
Base (Cream)
Rnd 1: Make a magic ring and ch 2. Work 12 dc in the ring, pull it closed, and 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; rep from * around, join. (36 sts)
Rnd 4: Ch 2, *dc in next 2 sts, 2 dc in next st; rep from * around, join. (48 sts)
Rnd 5: Ch 2, *dc in next 3 sts, 2 dc in next st; rep from * around, join, changing to brown. (60 sts)
The base should lie flat and measure 4.75 in (12.1 cm) across.
Lower Stripes
Rnd 6 (brown): Ch 1, sc in BLO of each st around, join, changing to cream. (60 sts) This turns the work upward to start the wall. It also leaves a ring of front loops that gives a crisp base edge.
Rnd 7 (cream): Ch 1, sc in each st around, join. (60 sts)
Rnd 8 (cream): Ch 1, sc in each st around, join, changing to brown. (60 sts)
Rnd 9 (brown): Ch 1, sc in each st around, join, changing to cream. (60 sts)
You now have a brown stripe at the base edge, a narrow cream band, and a second thin brown stripe.
Basketweave Band (Cream)
Rnd 10: Ch 2, dc in each st around, join. (60 sts) This plain dc round gives the post stitches something to wrap around.
Rnds 11–12: Ch 2, *FPdc around each of next 3 sts, BPdc around each of next 3 sts; rep from * 10 times in total, join. (60 sts: 30 FPdc, 30 BPdc)
Rnds 13–14: Ch 2, *BPdc around each of next 3 sts, FPdc around each of next 3 sts; rep from * 10 times in total, join. Change to brown on the last join of Rnd 14. (60 sts)
Swapping the order every 2 rounds creates the woven blocks. Each block is 3 sts wide, 0.75 in (1.9 cm), and 2 rounds tall, 1 in (2.5 cm).
Rim (Brown)
Rnd 15: Ch 1, sc in the top of each st around, join. (60 sts)
Rnd 16: Ch 1, sc in each st around, join. (60 sts)
Rnd 17: Ch 1, rev sc in each st around, join. (60 sts) Fasten off and weave in the ends.
The wall is made of 4 sc rounds (0.9 in), 5 dc-height rounds (2.5 in), and 3 sc-height rim rounds (0.67 in). That adds up to about 4 in (10.2 cm). Push a roll into the cup to settle its shape.
Mark the round joins on each cup with a marker. That column is the center back.
Back Panel (Make 1, Cream)
Work in rows, turning at the end of each row. The ch 1 at the start of a row does not count as a stitch.
Row 1: Ch 19. Sc in the 2nd ch from the hook and in each ch across. (18 sts)
Rows 2–72: Ch 1, turn, sc in each st across. (18 sts)
The panel now measures 4.5 in x 16 in (11.4 cm x 40.6 cm).
Taper
Row 73: Ch 1, turn, sc2tog, sc in next 14 sts, sc2tog. (16 sts)
Row 74 and every even row through Row 80: Ch 1, turn, sc in each st across. (Same count as the row before.)
Row 75: Ch 1, turn, sc2tog, sc in next 12 sts, sc2tog. (14 sts)
Row 77: Ch 1, turn, sc2tog, sc in next 10 sts, sc2tog. (12 sts)
Row 79: Ch 1, turn, sc2tog, sc in next 8 sts, sc2tog. (10 sts)
The taper is 8 rows deep, about 1.8 in (4.6 cm).
Tab
Rows 81–90: Ch 1, turn, sc in each st across. (10 sts) Fasten off.
The tab is 2.5 in (6.4 cm) wide and 2.2 in (5.6 cm) long. The whole panel is 90 rows, or 20 in (50.8 cm).
Make All Pieces
- Cups: 3. Each uses about 25 g cream and 12 g brown.
- Panel: 1. Uses about 50 g cream.
Layout (front view, top to bottom):
[ ring ]
[ tab ] Rows 81-90
/taper \ Rows 73-80
| panel | Rows 64-72 (open)
| CUP 3 | Rows 46-63
| gap | Rows 42-45
| CUP 2 | Rows 24-41
| gap | Rows 20-23
| CUP 1 | Rows 2-19
| Row 1 | (open, for border)
Each gap is 4 rows, about 0.9 in (2.3 cm).
Joining
Method: Sew each cup to the panel with whipstitch, using cream yarn and a tapestry needle. Each cup gets two vertical seams and one short seam at the base.
Prepare the cup: Count 7 sts to the right of the center-back join and 8 sts to the left, and mark them. That gives a 15-st back section, 3.75 in (9.5 cm) wide. Flatten this section against the panel.
Position: Lay the panel right side up. The vertical seams run up columns 2 and 17. Columns 1 and 18 stay free for the border. Line up the cup’s base edge (the front loops left by Rnd 6) along the row given in the layout.
Stitch-to-stitch logic:
– Base seam: Whipstitch the 15 front loops of the back section to the 15 panel sts between the seam columns. That is 1 loop to 1 stitch.
– Vertical seams: Match each sc round (Rnds 6–9 and 15–17) to 1 panel row. Match each dc-height round (Rnds 10–14) to 2 panel rows, and catch 1 extra row at the top of the basketweave. That makes 4 + 11 + 3 = 18 rows, the same as the cup’s 18-row slot.
Tension: Keep the stitches snug but not tight. The cup back should lie flat against the panel without puckering. Tack through the rim twice at each seam line so the cup doesn’t tip forward.
Size checkpoint: After sewing, the bottom cup should fill Rows 2–19. The top of the top cup should sit 2 in (5.1 cm) below the start of the taper.
Border
Border gauge: 1 sc per stitch along the bottom and top edges, and 1 sc per row end along the side edges. Rows of sc are slightly shorter than they are wide, so one sc in each row end lies flat without ruffling.
Border Rnd (cream): With the right side facing, join cream in the first st of Row 1.
- Bottom edge: 3 sc in the first st, sc in the next 16 sts, 3 sc in the last st. (22 sc)
- Side edge: sc in the row end of each of Rows 2–89. (88 sc) This runs up the side, along the taper, and up the tab.
- Top of tab: 3 sc in the first st of Row 90, sc in the next 8 sts, 3 sc in the last st. (14 sc)
- Other side edge: sc in the row end of each of Rows 89–2. (88 sc)
Join with a sl st to the first sc. (212 sts in total) Fasten off.
Why the math works: The bottom has 18 sts: 16 plain sts plus 2 corner sts with 3 sc each, so 16 + 6 = 22. The top has 10 sts: 8 + 6 = 14. Each side has 90 rows, but Rows 1 and 90 are already covered by the corner groups, which leaves 88 row ends per side. In total, 22 + 88 + 14 + 88 = 212. The border adds 0.25 in (0.6 cm) to every edge, so the panel finishes at 5 in x 20.5 in (12.7 cm x 52.1 cm).
Ring: Fold the tab back over the wooden ring so the top border lines up with the back of Row 80. Whipstitch across all 14 border sts. The fold uses about 1.25 in (3.2 cm), which gives a hanging length of about 19.25 in (48.9 cm).
Final Blocking
- Put a toilet roll in each cup.
- Mist the whole holder lightly with water until it is damp, not soaked.
- Lay it flat face-up on a towel, with the cups resting on their rolls.
- Pat the panel to 5 in (12.7 cm) wide and straighten the side edges.
- Shape each rim into a smooth circle and roll the rev sc outward.
- Let it dry completely, about 24 hours.
- Remove the rolls, then hang the holder and reload it.
Final Quality-Control Checklist
- Each cup has exactly 60 sts in every wall round.
- The basketweave blocks alternate cleanly, with 10 repeats per round.
- The two brown base stripes and the brown rim line up on all three cups.
- Each cup is 4.75 in (12.1 cm) across and 4 in (10.2 cm) tall.
- The cups are centered, with 4-row gaps between them.
- The border count is 212, with 3-sc corners lying flat.
- The panel measures 5 in x 20.5 in (12.7 cm x 52.1 cm).
- The ring seam is secure, and all ends are woven in on the back.
Troubleshooting
- Base cups upward: Check your increases, or go up a hook size for the base rounds only.
- Base ruffles: You may have extra stitches. Recount for 60 at Rnd 5.
- Roll won’t fit: Go up a hook size and remake the cup.
- Basketweave looks muddy: Wrap the post stitches loosely so the blocks stand out.
- Cup leans forward: Add tacking stitches at the rim, or sew a third short seam at center back.
- Border waves on the sides: Skip a row end every 10 rows on both sides, keeping the two sides equal.
- Panel curls: Block it flat under a light towel.
Care
Hand wash in cool water with mild soap, press out the water in a towel, and dry flat with the cups reshaped over rolls. Do not tumble dry.

Final Notes
Here is the measurement chain from start to finish. A 4.75 in (12.1 cm) base of 60 sts becomes a 4 in (10.2 cm) cup wall that takes up 18 panel rows. Three cups and two 4-row gaps fit on a 4.5 in x 20 in (11.4 cm x 50.8 cm) panel. A 212-st border brings the panel to 5 in x 20.5 in (12.7 cm x 52.1 cm), and folding the tab over the ring gives a hanging length of about 19.25 in (48.9 cm). If your first cup meets its checkpoints, the rest of the holder will fit together.
Happy crocheting!