This three-tier hanging holder keeps spare toilet rolls tidy and close at hand. Three round baskets stack vertically on two narrow straps, and the whole piece hangs from one wooden ring on a hook or towel bar.
It’s worked in one warm coral shade throughout. Each basket has a solid base, open fan-lace sides and a plain single crochet rim. The lace shows a little white from the rolls behind it, and the solid base and rim keep each basket firm.
The pattern uses US crochet terms. The finished holder is 5 in (12.7 cm) wide. It measures 18.5 in (47.0 cm) from the ring to the bottom of the lowest basket along the strap, or 20.5 in (52.1 cm) including a 2 in (5.1 cm) ring.
To build it, you make three identical baskets from the base up: a flat circle, one turning round, four rounds of fan lace and a three-round rim. Then you crochet two flat straps, fold them over the ring and sew them down the sides of the baskets.
Finished Size and Construction
- Finished size: 5 in (12.7 cm) wide x 18.5 in (47.0 cm) long below the ring
- Skill level: Easy-intermediate
- Terminology: US crochet terms
- Yarn weight: Worsted (#4), cotton or cotton blend
- Hook: 5.0 mm (H-8)
- Number of pieces: 5 (3 baskets + 2 straps), plus 1 wooden ring
- Layout: 3 baskets stacked vertically, 1.5 in (3.8 cm) apart
- Basket size: 5 in (12.7 cm) diameter x 3.5 in (8.9 cm) tall
- Basket height before rim (border): 2.75 in (7.0 cm)
- Rim (border) depth: 0.75 in (1.9 cm)
- Strap size: 0.8 in (2.0 cm) wide x 19.5 in (49.5 cm) long
Materials
Yarn: Choose a smooth worsted-weight cotton or cotton blend. Cotton holds its shape under the weight of a roll and handles bathroom humidity well. Acrylic will also work, but the baskets will be softer and may sag a little.
- Coral / salmon pink: 150 g, about 240 m (262 yd)
This quantity includes a margin of about 20% for your gauge swatch, joining and weaving in ends. Each basket uses about 35 g (56 m), and each strap uses about 10 g (16 m).
Tools:
- 5.0 mm (H-8) crochet hook
- One wooden ring, 2 in (5.1 cm) diameter
- Tapestry needle
- 4 locking stitch markers
- Scissors
- Measuring tape
- Blocking pins and a towel
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- dc – double crochet
- BLO – back loop only
- st(s) – stitch(es)
- rnd – round
- inc – 2 sc in the same stitch
- sk – skip
Special stitch – Shell: 5 dc worked into the same stitch.
Half shell: ch 3 (counts as 1 dc) plus 2 dc in the same stitch at the start of a round. You finish it with 2 dc in that same stitch at the end of the round, which makes one full shell.
Gauge and Checkpoints
Gauge: 15 sc and 16 rnds/rows = 4 in (10.2 cm). One shell repeat (6 sts) = 1.6 in (4.1 cm) wide. One shell round = 0.625 in (1.6 cm) tall.
Make one complete basket before you start the others. It acts as your gauge swatch and lets you check the fit with a real roll.
Checkpoints:
- After Rnd 5 (30 sts): base diameter is 2.5 in (6.4 cm).
- After Rnd 10 (60 sts): base diameter is 5 in (12.7 cm), and the circle lies flat.
- After Rnd 13: sides are 1.5 in (3.8 cm) tall, measured from the base edge.
- After Rnd 15: sides are 2.75 in (7.0 cm) tall.
- After Rnd 18: sides are 3.5 in (8.9 cm) tall, and a standard roll 4.5 in (11.4 cm) wide slides in easily.
If your basket is too big, go down to a 4.5 mm hook. If it’s too small or the roll is a tight fit, go up to a 5.5 mm hook. Don’t add stitches, because the shell pattern needs a multiple of 6.

Basket (Make 3)
Base
Work in continuous spiral rounds. Place a marker in the first stitch of each round and move it up as you go.
- Rnd 1: Make a magic ring, ch 1, work 6 sc into the ring. (6 sts)
- Rnd 2: Inc in each st around. (12 sts)
- Rnd 3: Sc 1, inc 6 times. (18 sts)
- Rnd 4: Sc 2, inc 6 times. (24 sts)
- Rnd 5: Sc 3, inc 6 times. (30 sts)
- Rnd 6: Sc 4, inc 6 times. (36 sts)
- Rnd 7: Sc 5, inc 6 times. (42 sts)
- Rnd 8: Sc 6, inc 6 times. (48 sts)
- Rnd 9: Sc 7, inc 6 times. (54 sts)
- Rnd 10: Sc 8, inc 6 times. (60 sts)
Sl st to the next st to finish the spiral. From here, every round is joined.
Checkpoint: 60 sts, 5 in (12.7 cm) across, lying flat.
Turning Round
- Rnd 11: Ch 1, sc in BLO of each st around, sl st to first sc. (60 sts)
The unused front loops leave a crisp ridge that turns the work upward into the basket walls.
Fan Lace Sides
The 60 sts divide into 10 repeats of 6 sts, so each lace round has 10 shells.
- Rnd 12: Ch 1, sc in first st, sk 2, shell in next st, sk 2, sc in next st 9 times, sk 2, shell in next st, sk 2, sl st to first sc. (10 shells + 10 sc = 60 sts)
- Rnd 13: Ch 3 (counts as dc), 2 dc in the same st (half shell), sc in center (3rd) dc of next shell, shell in next sc 9 times, sc in center dc of last shell, 2 dc in the first st, sl st to top of ch-3. (10 shells + 10 sc = 60 sts)
- Rnd 14: Ch 1, sc in the same st (the seam point of the shell), shell in next sc, sc in center dc of next shell 9 times, shell in next sc, sl st to first sc. (10 shells + 10 sc = 60 sts)
- Rnd 15: Repeat Rnd 13. (60 sts)
Each round shifts the fans by half a repeat, so the shells always sit between the shells of the round below.
Checkpoint: The sides are 2.75 in (7.0 cm) tall: 0.25 in (0.6 cm) for the turning round plus 4 x 0.625 in (1.6 cm) for the lace rounds.
Work the rim (border) below before fastening off.
Straps (Make 2)
Straps are worked flat in rows.
- Foundation: Ch 4.
- Row 1: Sc in 2nd ch from hook and in each ch across. (3 sts)
- Rows 2–78: Ch 1, turn, sc in each st across. (3 sts)
Fasten off and leave a 24 in (61.0 cm) tail for sewing.
Checkpoint: 0.8 in (2.0 cm) wide x 19.5 in (49.5 cm) long. That’s 78 rows at 4 rows per inch.
Mark these strap sections with stitch markers, starting from Row 1:
- Rows 1–4: ring fold-over, 1 in (2.5 cm)
- Rows 5–24: hanging section, 5 in (12.7 cm)
- Rows 25–38: top basket, 3.5 in (8.9 cm)
- Rows 39–44: gap, 1.5 in (3.8 cm)
- Rows 45–58: middle basket, 3.5 in (8.9 cm)
- Rows 59–64: gap, 1.5 in (3.8 cm)
- Rows 65–78: bottom basket, 3.5 in (8.9 cm)
Check the total: 4 + 20 + 14 + 6 + 14 + 6 + 14 = 78 rows.
Make All Pieces
- Coral: 3 baskets and 2 straps
Layout (front view):
( RING )
/ \
strap strap
|[ BASKET 1 ]|
| gap |
|[ BASKET 2 ]|
| gap |
|[ BASKET 3 ]|
Joining
Method: Whipstitch with the coral yarn tail, sewing the strap edges to the outside of each basket.
Stitch-to-stitch logic: On each basket rim, mark st 1 (at the round seam) and st 31. These are exactly opposite each other, with 30 sts on each side. Center one strap on st 1 and the other on st 31, so each 3-stitch-wide strap covers the marked stitch and one stitch on either side.
- Lay basket 1 with its seam toward the back. Pin the marked rows 25–38 of each strap down the basket wall. Row 25 lines up with the top of the rim, and Row 38 lines up with the base ridge from Rnd 11.
- Sew both long edges of each strap to the basket. On the lace rounds, catch the sc and dc posts rather than the open spaces.
- Leave rows 39–44 free. Attach basket 2 at rows 45–58 the same way, leave rows 59–64 free, and attach basket 3 at rows 65–78.
- Pass rows 1–4 of each strap through the wooden ring from front to back. Fold them down onto Row 5 and sew them flat. Set the two straps side by side on the ring.
Tension: Keep the whipstitches snug but not tight. Pulling too hard puckers the lace and shortens the strap.
Size checkpoint: Each gap is 1.5 in (3.8 cm), and the length from the ring to the base of basket 3 is 18.5 in (47.0 cm) along the strap.
Border (Basket Rim)
Work the rim on each basket straight after Rnd 15, before joining.
Border gauge: 15 sc and 4 rnds = 4 in x 1 in (10.2 cm x 2.5 cm), the same as the base. Each rim round is 0.25 in (0.6 cm) tall.
Treat the rim as two sides: sts 1–30 and sts 31–60, the halves between the strap points.
- Rnd 16 (conversion round): Ch 1, sc in each st around (sc and dc tops alike), sl st to first sc. That’s 60 sc worked one per existing stitch, plus 0 extra = 60 sts (30 per side).
- Rnd 17: Ch 1, sc in each st around, sl st to first sc. (60 sts; 30 per side)
- Rnd 18: Ch 1, sc in each st around, sl st to first sc. (60 sts; 30 per side)
Fasten off and weave in the ends.
Why the math works: Rnd 15 has 10 repeats of 6 sts (5 dc + 1 sc) = 60 sts. Each side holds exactly 5 repeats, or 30 sts. Working one sc per stitch keeps the 60-stitch circumference of the base, so the rim is the same 16 in (40.6 cm) around and doesn’t flare or pull in. The three rim rounds add 0.75 in (1.9 cm), bringing the basket to 3.5 in (8.9 cm) tall.
Final Blocking
- Wet the finished holder in cool water and gently squeeze it out. Don’t wring it.
- Roll it in a towel and press to remove extra water.
- Put a dry toilet roll wrapped in plastic into each basket to form the cylinder.
- Lay the piece flat and straighten the straps. Make sure each gap measures 1.5 in (3.8 cm).
- Shape the fans with your fingers so each one opens evenly.
- Let it dry completely, turning it once, then remove the rolls.
Final Quality-Control Checklist
- Every basket has 60 sts on Rnds 10–18.
- Every lace round has 10 shells.
- All three baskets measure 5 in (12.7 cm) x 3.5 in (8.9 cm).
- Straps are 78 rows each and identical in length.
- Straps are centered on sts 1 and 31 of every basket.
- Both gaps are 1.5 in (3.8 cm).
- The ring is held securely, and the straps hang evenly with no twist.
- All ends are woven in on the inside of the baskets.
Troubleshooting
- The base cups or ruffles: Cupping means you’re crocheting too tightly, and ruffling means too loosely. Go down or up a hook size for the base only.
- Shells lean or the count is off: Count 60 sts in Rnd 11 before starting the lace, and check for exactly 10 shells after every round.
- Lace stretches downward when filled: Use cotton instead of acrylic, or go down one hook size for Rnds 12–15.
- The holder hangs crooked: The straps aren’t centered opposite each other. Count 30 sts between them on each basket and re-sew.
- The rim waves: Make sure you worked exactly one sc per stitch in Rnd 16.
Care
Hand wash in cool water and lay flat to dry, reshaping the baskets around rolls as described above. Avoid machine drying, which can shrink cotton and distort the lace.

Final Notes
Each measurement leads to the next. The 60-stitch, 5 in (12.7 cm) base sets 10 shell repeats. Those shells keep the walls straight to 2.75 in (7.0 cm), and the 60-stitch rim brings each basket to 3.5 in (8.9 cm). The 78-row straps then join the three baskets with 1.5 in (3.8 cm) gaps, for 18.5 in (47.0 cm) below the ring. If your gauge matches at each checkpoint, the finished holder will match too.
Happy crocheting!