This three-tier hanging holder keeps three spare toilet paper rolls off the counter and within easy reach. Each round basket is covered in a raised honeycomb texture of interlocking hexagons and finished with a twisted rope rim. Narrow straps link the baskets, and a tapered tab at the top loops over a natural wooden ring.
The sample uses a single sage green cotton, which makes the honeycomb stand out clearly in a bathroom. Any solid light-to-medium color will show the texture well. The pattern uses US crochet terms throughout.
The finished holder is about 24″ (61.0 cm) long including the ring. Each basket is about 6.4″ (16.3 cm) across and 5″ (12.7 cm) tall, so it holds standard rolls up to about 4.5″ (11.4 cm) wide.
Construction is simple. You work three baskets from the bottom up in joined rounds and make four straps and one hanging tab as flat strips. Then you sew everything together and work the rope-rim border on each basket last.
Finished Size and Construction
- Finished size: about 6.4″ (16.3 cm) wide x 24″ (61.0 cm) long, including ring
- Skill level: Intermediate (front post stitches and decreases worked around posts)
- Terminology: US crochet terms
- Yarn weight: Worsted (#4) cotton
- Hook: 5.0 mm (H-8)
- Number of pieces: 8 (3 baskets, 4 straps, 1 hanging tab), plus a wooden ring
- Layout: 3 baskets stacked vertically in 1 column
- Piece size: each basket is 80 sts around, with a 20″ (50.8 cm) circumference and 6.4″ (16.3 cm) diameter
- Size before border: each basket is about 4.4″ (11.2 cm) tall; the stack is 18″ (45.7 cm) long without the tab and ring
- Border depth: 3 rounds, about 0.6″ (1.5 cm)
Materials
Choose a smooth, firm worsted-weight cotton or cotton blend. Cotton holds the basket shape, shows raised stitches crisply, and handles bathroom humidity well. Avoid fuzzy or splitty yarns, because front post stitches need clean posts.
- Sage green: 300 g, about 570 m (623 yd)
- 3 baskets: about 75 g each
- 4 straps and tab: about 20 g total
- 5.0 mm (H-8) crochet hook
- 1 wooden ring, 3″ (7.6 cm) outside diameter
- 4 locking stitch markers
- Tapestry needle
- Scissors
- Measuring tape
- Sewing pins or clips
The yarn amounts include a margin of about 20% for swatching and differences in tension.
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- inc – 2 sc in the same st
- sc2tog – single crochet 2 together
- MR – magic ring
- FPdc – front post double crochet
- FPtr – front post treble crochet
- rev sc – reverse single crochet (crab stitch)
- st(s) – stitch(es)
- rnd – round
Special stitch – FPtr2tog: *Yo twice, insert hook from front to back to front around the first indicated post, yo and pull up a loop, (yo, pull through 2 loops) twice; repeat from * around the second indicated post; yo, pull through all 3 loops on hook. Counts as 1 st.
Raised-stitch rule: Work every FPdc, FPtr, or FPtr2tog around a raised stitch 2 rnds below, in the previous raised rnd. Always skip the sc of the current rnd that sits behind each raised stitch. This keeps every rnd at 80 sts.
Gauge and Checkpoints
Gauge: 16 sc and 18 rows = 4″ (10.2 cm) in sc. One honeycomb repeat is 8 sts, about 2″ (5.1 cm) wide, and one hexagon is about 2.2″ (5.6 cm) tall.
Make one complete basket through Rnd 32 before you start the others. That basket is your real gauge test.
- After Rnd 12: the base lies almost flat and measures about 5.5″ (14.0 cm) across.
- After Rnd 14: the circumference is 20″ (50.8 cm).
- After Rnd 32: the side height, measured from Rnd 13, is 4.4″ (11.2 cm).
If the base is too big, go down 0.5 mm. If it is too small, go up 0.5 mm. A slight cup in the base is normal and becomes the rounded bottom.

Basket (Make 3)
Work in joined rnds. Join each rnd with a sl st to the first st, then ch 1 (does not count as a st). The join line marks the back center of the basket.
Base
Rnd 1: 6 sc in MR. (6)
Rnd 2: Inc in each st. (12)
Rnd 3: (Sc 1, inc) 6 times. (18)
Rnd 4: (Sc 2, inc) 6 times. (24)
Rnds 5–12: Keep increasing 6 sts per rnd, working 1 more sc before each inc than in the rnd before. Rnd 5 has 30 sts, Rnd 6 has 36, Rnd 7 has 42, Rnd 8 has 48, Rnd 9 has 54, Rnd 10 has 60, Rnd 11 has 66, and Rnd 12 has 72. (72)
Rnd 13: (Sc 8, inc) 8 times. (80)
Rnd 14: Sc in each st. (80)
Honeycomb Sides
Each raised rnd has 10 repeats of 8 sts. Positions 1–8 are counted from the start of each repeat. Even-numbered rnds are plain sc rnds.
Rnd 15 (vertical walls): *FPdc around the sc of Rnd 13 directly below, sc 7; repeat from * 9 more times. (80)
Rnd 16 and every even rnd through Rnd 32: Sc in each st, including the tops of the raised sts. (80)
Rnd 17 (lines open): *Sc 2, FPtr around the raised st 2 sts back (position 1 of this repeat), sc 3, FPtr around the raised st 2 sts ahead (position 1 of the next repeat), sc 1; repeat from * 9 more times. (80)
On the last repeat, the second FPtr goes around the first FPdc of Rnd 15.
Rnd 19 (lines meet): *Sc 4, FPtr2tog with the first leg around the FPtr at position 3 and the second leg around the FPtr at position 7, sc 3; repeat from * 9 more times. (80)
Rnd 21 (vertical walls): *Sc 4, FPdc around the FPtr2tog below, sc 3; repeat from * 9 more times. (80)
Rnd 23 (lines open): *Sc 2, FPtr around the FPdc 2 sts ahead (position 5), sc 3, FPtr around the same FPdc (now 2 sts back), sc 1; repeat from * 9 more times. (80)
Rnd 25 (lines meet): *FPtr2tog with the first leg around the FPtr at position 7 of the previous repeat and the second leg around the FPtr at position 3 of this repeat, sc 7; repeat from * 9 more times. (80)
On the first repeat, the first leg goes around the last FPtr of Rnd 23.
Rnd 27: Work as Rnd 15, but work each FPdc around the FPtr2tog below. (80)
Rnd 29: Work as Rnd 17. (80)
Rnd 31: Work as Rnd 19. (80)
Rnd 32: Sc in each st. (80) Fasten off. You will add the rim after joining.
The diagonal FPtr lines lean 2 sts per raised rnd and then merge. This makes two full rows of hexagons around the sides, with ten hexagons per row and half hexagons at the base and below the rim. Each basket is now 80 sts around and 4.4″ (11.2 cm) tall at the sides.
Strap (Make 4)
Row 1: Ch 5, sc in 2nd ch from hook and in each ch across, turn. (4)
Rows 2–20: Ch 1, sc in each st across, turn. (4)
Fasten off, leaving a 12″ (30.5 cm) tail. Each strap is 1″ (2.5 cm) wide and 4.4″ (11.2 cm) long.
Hanging Tab (Make 1)
Row 1: Ch 17, sc in 2nd ch from hook and in each ch across, turn. (16)
Row 2: Ch 1, sc in each st, turn. (16)
Row 3: Ch 1, sc2tog, sc to last 2 sts, sc2tog, turn. (14)
Rows 4–11: Repeat Rows 2–3 four more times. Row 5 has 12 sts, Row 7 has 10, Row 9 has 8, and Row 11 has 6. Each even row has the same count as the row before it. (6)
Rows 12–26: Ch 1, sc in each st, turn. (6)
Fasten off, leaving a 16″ (40.6 cm) tail. The tab is 4″ (10.2 cm) wide at the base, 1.5″ (3.8 cm) wide at the top, and 5.8″ (14.7 cm) long.
Make All Pieces
All pieces are sage green.
- Baskets: 3
- Straps: 4
- Hanging tab: 1
Layout, top to bottom (front view):
[ ring ]
[ tab ]
[ Basket 1 - top ]
|strap| |strap|
[ Basket 2 - middle ]
|strap| |strap|
[ Basket 3 - bottom ]
Joining
Lay the three baskets in a column with the back-center join lines facing you. Sew with whipstitch using the yarn tails. Work stitch to stitch, so each strap stitch lands on one basket stitch.
Strap placement: On Rnd 32, mark the stitch 8 sts to the right and the stitch 8 sts to the left of back center. Center one strap on each marker. The strap centers sit 16 sts, or 4″ (10.2 cm), apart.
- Lower end: Pin the bottom 1″ (2.5 cm) of each strap to the inside of the lower basket, with the strap’s end level with the top of Rnd 32. Whipstitch the strap’s 4 sts and both side edges through Rnds 28–32.
- Upper end: Pin the top 1″ (2.5 cm) of the same strap to the outside back of the basket above, over Rnds 13–17. Sew both side edges and the end row.
- Repeat for the second pair of straps.
Tab: Center the tab’s 16-st base row on the inside back center of Basket 1, over Rnds 28–32, and sew down the bottom 1″ (2.5 cm). The tab’s edges line up with the strap markers, so the weight pulls straight down. Slip the narrow end through the ring, fold 1.6″ (4.1 cm) back down, and sew it firmly to the tab.
Keep your sewing snug but not puckered. Pull each stitch until the pieces touch, then stop.
Size checkpoint: Hang the holder and measure from Rnd 32 of Basket 1 to the bottom of Basket 3. It should be 18″ (45.7 cm), with a 2.4″ (6.1 cm) visible strap gap between baskets.
Border
You work the rope rim around each basket after joining, so the strap ends and tab base stay hidden behind it.
Border gauge: the same as the body, 16 sts per 4″ (10.2 cm). The three rnds add about 0.6″ (1.5 cm).
Join yarn at the back center of Rnd 32.
Rnd 33: Ch 1, sc in each st, working through the basket only, not the strap or tab. Join. (80)
Rnd 34: Ch 1, sc in each st. Join. (80)
Rnd 35: Ch 1, rev sc in each st, working from left to right. Join and fasten off. (80)
Repeat on all three baskets.
Why the math works: Every side rnd has 80 sts, so each border rnd also has 80: 80 worked 1 per existing st + 0 added. The rim keeps the same 20″ (50.8 cm) circumference, so it neither flares nor pulls in. Because 80 is 10 repeats of 8, the rim sits evenly over the honeycomb. Each basket grows from 4.4″ (11.2 cm) to 5″ (12.7 cm) tall. On the two lower baskets, the rim shortens the visible strap gap from 2.4″ (6.1 cm) to 1.8″ (4.6 cm). The total stack grows from 18″ (45.7 cm) to 18.6″ (47.2 cm).
Final Blocking
- Weave in all ends securely on the inside of the baskets.
- Lightly mist each basket with water.
- Put a toilet roll or a folded towel in each basket to set the round shape.
- Gently pinch the rope rim to even out the bumps.
- Flatten each strap and the tab and pat them straight.
- Let the holder dry fully while hanging, so the straps settle at their working length.
Final Quality-Control Checklist
- Every basket has 80 sts in every rnd from Rnd 13 on.
- Ten hexagons sit evenly in each row around every basket.
- The raised lines meet cleanly at each FPtr2tog, with no gaps or extra sts.
- Each basket measures 6.4″ (16.3 cm) across and 5″ (12.7 cm) tall.
- Both strap gaps measure 1.8″ (4.6 cm).
- The straps sit 4″ (10.2 cm) apart and hang straight.
- The tab is centered and firmly sewn around the ring.
- The whole holder is about 24″ (61.0 cm) long including the ring.
Troubleshooting
- Stitch count goes above 80: You didn’t skip the sc behind a raised stitch. Check that each repeat has 8 sts.
- Hexagons slant to one side: Check that each pair of FPtrs in Rnds 17, 23, and 29 leans in opposite directions.
- Raised lines look loose or sag: Pull the post loops up only to sc height and avoid extra-long loops.
- Base ruffles: Your increases are too loose. Go down a hook size for Rnds 1–13.
- Base cups too much: Go up a hook size for the base only.
- Baskets tip forward when full: Move the straps closer to back center, or sew the lower strap ends deeper.
- Rim flares: Work Rnd 35 more tightly, or go down 0.5 mm for the border.
Care
Hand wash cool, or machine wash on gentle in a laundry bag, then reshape and hang to dry. Remove the wooden ring first if you can, or just wipe it with a damp cloth.

Final Notes
Each measurement leads to the next. A gauge of 16 sc per 4″ (10.2 cm) gives 80 sts and 20″ (50.8 cm) around. Twenty side rnds make each basket 4.4″ (11.2 cm) tall, and the 3-rnd rim brings it to 5″ (12.7 cm). Straps of 4.4″ (11.2 cm) with 1″ (2.5 cm) overlaps leave 1.8″ (4.6 cm) gaps. The stack comes to 18.6″ (47.2 cm), and the tab and ring bring the holder to about 24″ (61.0 cm).
Check the first basket carefully, and the other two will follow. Happy crocheting!