This hanging holder stores three standard toilet rolls in a neat vertical column. Each roll sits in a round basket with six puffy, petal-shaped lobes, so every basket looks like a soft flower cup. One back strap joins the three baskets and narrows at the top into a loop around a wooden ring.
The sample is worked in a single pale butter yellow in bulky yarn. The texture comes from vertical columns of puff stitches set between back-post grooves, with a rounded scallop on top of each lobe. The look is cozy and cottage-style, and it suits a bathroom wall, the back of a door, or a hook beside the toilet.
All terms are US crochet terms. The finished holder is about 7 in (17.8 cm) wide at the lobe tips and about 25 in (63.5 cm) long, including the ring. Each basket is about 5 in (12.7 cm) tall and holds a roll up to about 4.5 in (11.4 cm) across.
Construction is simple. You crochet three identical baskets in joined rounds from the base up and one flat back strap in rows. Then you sew the baskets to the strap and work a rim border on each basket. The top end of the strap folds through the ring and is sewn down.
Finished Size and Construction
- Finished size: about 7 x 25 in (17.8 x 63.5 cm), including the ring
- Skill level: Intermediate (puff stitch, back-post double crochet, seaming)
- Terminology: US
- Yarn weight: Bulky (#5)
- Hook: 6.0 mm (US J-10)
- Number of pieces: 4 (3 baskets + 1 back strap), plus a purchased ring
- Layout: 1 column of 3 baskets, one above the other on the strap
- Basket size: base about 6.25 in (15.9 cm) across; about 5 in (12.7 cm) tall
- Basket size before border: about 4.75 in (12.1 cm) tall
- Border depth: about 0.33 in (0.8 cm)
- Strap: 2.33 x 24 in (5.9 x 61.0 cm) before edging; 3 in (7.6 cm) wide after edging
Materials
Choose a smooth bulky yarn in cotton, a cotton blend, or soft acrylic. Cotton holds the basket shape best and handles bathroom humidity well. Avoid fuzzy or loosely plied yarn: the puffs lose definition and the hook splits the plies.
- Butter yellow: 320 g, about 415 m (based on roughly 130 m per 100 g)
- Each basket: about 80 g (104 m)
- Strap and edging: about 30 g (39 m)
These amounts include a margin of about 15 percent for swatching and gauge differences.
Tools:
- 6.0 mm (US J-10) crochet hook
- 3 in (7.6 cm) wooden ring
- Tapestry needle
- 6–8 stitch markers
- Scissors and measuring tape
- Rust-proof pins and a blocking mat or towel
Abbreviations (US Terms)
- ch: chain
- sl st: slip stitch
- sc: single crochet
- hdc: half double crochet
- dc: double crochet
- tr: treble crochet
- BLO: back loop only
- BPdc: back-post double crochet. Yarn over (yo), insert the hook from back to front to back around the post of the stitch below, and finish as a dc.
- sc2tog: single crochet 2 together
- inc: 2 sc in the same stitch
- MR: magic ring
- st(s): stitch(es)
- RS: right side
Special stitch: Puff. (Yo, insert the hook in the stitch, yo, pull up a loop to dc height) 3 times, then yo and pull through all 7 loops on the hook. Don’t add a closing chain. Each puff counts as 1 stitch.
Gauge and Checkpoints
Gauge: 12 sc and 12 rows = 4 in (10.2 cm); 12 dc and 7 rounds = 4 in (10.2 cm).
Make and check one whole basket before you make the other two. A full basket is the most accurate swatch, because the puffs and post stitches change the fabric slightly.
Checkpoints:
- After Rnd 4: base is about 2.75 in (7.0 cm) across.
- After Rnd 10: base is about 6.25 in (15.9 cm) across and lies flat.
- After Rnd 17: wall is about 3.75 in (9.5 cm) from the fold line to the top edge.
- After Rnd 18: basket is about 4.75 in (12.1 cm) tall at the lobe tips.
- Strap after Row 12: 2.33 in (5.9 cm) wide and 4 in (10.2 cm) long.
If your piece is too big, go down 0.5 mm in hook size. If it is too small, go up 0.5 mm. If only the wall height is off, check your dc height: pulling the first loop of each dc a little taller or shorter fixes most of it. A base under about 5.75 in (14.6 cm) is too tight for most rolls.

Basket (make 3)
Join each round with a sl st to the first stitch. Beginning chains don’t count as stitches.
Base
Rnd 1: MR, ch 1, 6 sc in the ring, join. (6 sts)
Rnd 2: Ch 1, inc in each st around, join. (12 sts)
Rnd 3: Ch 1, sc in next st, inc; repeat from * 6 times, join. (18 sts)
Rnd 4: Ch 1, sc in next 2 sts, inc; repeat 6 times, join. (24 sts)
Rnd 5: Ch 1, sc in next 3 sts, inc; repeat 6 times, join. (30 sts)
Rnd 6: Ch 1, sc in next 4 sts, inc; repeat 6 times, join. (36 sts)
Rnd 7: Ch 1, sc in next 5 sts, inc; repeat 6 times, join. (42 sts)
Rnd 8: Ch 1, sc in next 6 sts, inc; repeat 6 times, join. (48 sts)
Rnd 9: Ch 1, sc in next 7 sts, inc; repeat 6 times, join. (54 sts)
Rnd 10: Ch 1, sc in next 8 sts, inc; repeat 6 times, join. (60 sts)
Wall
Rnd 11: Ch 1, sc in BLO of each st around, join. (60 sts) The unused front loops form a crisp fold line, and the wall turns upward.
Rnd 12: Ch 2, dc in each st around, join. (60 sts)
Rnd 13: Ch 2, BPdc around next st, dc in next 4 sts, puff in next st, dc in next 4 sts; repeat from * 6 times, join. (60 sts: 6 BPdc, 48 dc, 6 puffs)
Each 10-stitch repeat is one lobe. Put a marker in each BPdc to mark the 6 grooves.
Rnds 14–17: Ch 2, BPdc around next BPdc, dc in next 4 dc, puff in next puff, dc in next 4 dc; repeat 6 times, join. (60 sts each round)
The BPdc columns sink inward and form the grooves between the lobes. At the center of each lobe, a column of 5 puffs stands out.
Scallop Round
Rnd 18: Ch 1, sl st in BPdc, sc in next st, hdc in next st, dc in next st, 2 tr in next st, 3 tr in puff, 2 tr in next st, dc in next st, hdc in next st, sc in next st; repeat from * 6 times, join. (84 sts = 60 worked 1-per-existing-stitch + 24 extra; 14 sts per lobe)
The sl st holds each groove low and the tr group lifts the center, which gives each lobe a rounded petal top. Fasten off and leave a 12 in (30.5 cm) tail for sewing. Weave in the starting tail.
Back Strap (make 1)
Foundation: Ch 8.
Row 1: Sc in 2nd ch from hook and in each ch across, turn. (7 sts)
Rows 2–60: Ch 1, sc in each st across, turn. (7 sts)
Row 61: Ch 1, sc2tog, sc in next 3 sts, sc2tog, turn. (5 sts)
Rows 62–63: Ch 1, sc in each st across, turn. (5 sts)
Row 64: Ch 1, sc2tog, sc in next st, sc2tog, turn. (3 sts)
Rows 65–72: Ch 1, sc in each st across, turn. (3 sts)
Before edging, the full-width section is 2.33 in (5.9 cm) wide and the strap is 24 in (61.0 cm) long. The decreases in Rows 61–64 make the tapered top.
Strap Edging
Rnd 1: With RS facing, join yarn in the first st of Row 72. Work around the strap as follows, then join:
- Top edge (3 sts): 3 sc in first st, sc in next st, 3 sc in last st. (7 sts)
- Long side: 1 sc in the row end of each row from Row 71 down to Row 2. (70 sts)
- Bottom edge (7 sts): 3 sc in first st, sc in next 5 sts, 3 sc in last st. (11 sts)
- Second long side: 1 sc in the row end of each row from Row 2 up to Row 71. (70 sts)
Total: 7 + 70 + 11 + 70 = 158 sts. Each corner group is counted once, inside the top or bottom total. Fasten off and weave in the ends. The full-width section is now 3 in (7.6 cm) wide.
Make All Pieces
You need 3 baskets and 1 strap, all in butter yellow. Count up from Row 1 at the bottom of the strap and mark these zones with stitch markers:
Rows 67–72 Fold over ring 2 in (5.1 cm)
Rows 55–66 Top tab 4 in (10.2 cm)
Rows 43–54 BASKET 1 (top) 4 in (10.2 cm)
Rows 34–42 Gap 3 in (7.6 cm)
Rows 22–33 BASKET 2 (middle) 4 in (10.2 cm)
Rows 13–21 Gap 3 in (7.6 cm)
Rows 1–12 BASKET 3 (bottom) 4 in (10.2 cm)
Check: 6 + 12 + 12 + 9 + 12 + 9 + 12 = 72 rows.
Joining
Method: Whipstitch with each basket’s sewing tail. Go through both loops of each strap edging stitch and through the basket’s wall stitches.
Placement: Pick one lobe to be the back lobe. Center the strap behind it, with the wrong side of the strap against the wall, so the strap hides that lobe’s puff column. The strap is 9 edging stitches wide (3 in / 7.6 cm) and a lobe is 10 sts wide (about 3.33 in / 8.5 cm), so each long edge of the strap sits on the dc just inside a groove.
Stitch-to-stitch logic: Each basket zone is 12 strap rows long, so it has 12 edging stitches on each long side. Below the scallops, the wall has 7 rounds (1 sc round + 6 dc rounds). Sew them like this:
- Rnd 11 (sc): 1 edging st
- Rnds 12–16 (dc): 2 edging sts per round, 10 in total
- Rnd 17 (dc): 1 edging st
That’s 1 + 10 + 1 = 12 edging sts per side. Line up the bottom of each zone with the Rnd 11 fold line. Sew one long edge from bottom to top, then the other.
Tension: Pull each stitch snug but not tight. If the strap puckers, ease off. If a basket tilts forward, add a few tacking stitches along Rnd 11.
Ring: Slide the ring over Rows 67–72, fold those 6 rows to the back, and sew them flat onto Rows 61–66.
Checkpoint: Hold the holder by the ring. The baskets should hang level, with 3 in (7.6 cm) of strap between the top of each wall and the base of the basket above. The strap should measure 22 in (55.9 cm) from the fold to the bottom edge.
Border
The border is one rim round on each basket. Work it after joining so the rim stays even at the back.
Border gauge: One round of sc adds about 0.33 in (0.8 cm) of height at the lobe tips.
Rim Rnd (Rnd 19): Join yarn in any groove sl st. Ch 1, sl st in sl st, sc in next 6 sts, 2 sc in next st (the center tr of the 3-tr group), sc in next 6 sts; repeat from * 6 times, join. (90 sts = 84 worked 1-per-existing-stitch + 6 extra; 15 sts per lobe)
On the back lobe, keep working through the scallop stitches above the strap. The strap only runs behind the basket, so the rim is still free.
Strap edge counts (recap): top 7 sts, each long side 70 sts, bottom 11 sts, 158 in total.
Why the math works: Each lobe starts as 10 wall stitches. Rnd 18 adds 4 per lobe (14) to shape the curve. Rnd 19 adds 1 more at the tip (15), which is just enough to keep the outer curve from cupping without making it ruffle. The sl sts in the grooves are worked 1-for-1, so the valleys stay deep and the 6 lobes stay distinct.
Fasten off and weave in all ends.
Final Blocking
- Lightly mist the holder with water. For acrylic, steam from above without touching the yarn.
- Fill each basket with a toilet roll or a rolled towel about 4.5 in (11.4 cm) across.
- Shape each lobe tip with your fingers so the scallops curve slightly outward.
- Lay the strap flat and pin it straight, checking that it stays 3 in (7.6 cm) wide.
- Pinch each puff column gently to round it.
- Let it dry completely before hanging.
Final Quality-Control Checklist
- Each basket has 6 lobes, 6 grooves, and 6 puff columns, each 5 puffs tall.
- Each basket rim has 90 sts.
- Bases lie flat at about 6.25 in (15.9 cm) across.
- Walls are about 3.75 in (9.5 cm) tall below the scallops.
- The gaps between baskets are an even 3 in (7.6 cm).
- Each strap edge is sewn with 12 sts per basket.
- The ring fold is sewn flat and secure.
- All ends are woven in and hidden.
Troubleshooting
Puffs look flat: Pull the loops up to full dc height and use a smooth yarn.
Grooves don’t show: Make sure you work each BPdc around the post from the back, not into the top loops.
Base cups or ruffles: Recount Rnds 1–10. Each round must add exactly 6 sts.
Lobes curl inward: Your tr groups are tight. Loosen them, or go up 0.5 mm for Rnds 18–19 only.
Basket sags forward: Add tacking stitches along the fold line, and use cotton or a firm acrylic.
Roll doesn’t fit: The base is too small. Remake it with a larger hook rather than adding rounds, so the basket keeps its 6 lobes.
Care
Hand wash in cool water, press out the extra water in a towel, and dry flat with each basket filled. Don’t wring it, because that distorts the puffs and the strap.

Final Notes
The measurements build on each other, so check each stage before moving on. At the right gauge, the base is 6.25 in (15.9 cm) across after Rnd 10. The wall rounds add 3.75 in (9.5 cm) of height, the scallops bring the basket to 4.75 in (12.1 cm), and the rim border finishes it at about 5 in (12.7 cm). The strap is 24 in (61.0 cm) long before folding and 22 in (55.9 cm) after, with 4 in (10.2 cm) basket zones and 3 in (7.6 cm) gaps. If each stage measures right, the three baskets will hang level and hold their rolls neatly.
Happy crocheting!