This hanging toilet paper holder has three round navy baskets stacked on one slim back strap. A wooden ring at the top hangs it from a hook. A wavy cream ripple band runs around the middle of each basket, so the whole piece looks crisp and a little coastal.
The design uses two colors, deep navy and cream, in a worsted-weight cotton. The ripple is worked in single crochet, which keeps the fabric dense enough to hold its shape around a roll. The pattern uses US crochet terms throughout.
Each basket is about 5.5 in (14.0 cm) across and 4.25 in (10.8 cm) tall. With the border on, the strap is 2.5 in (6.4 cm) wide. The visible hanging length is about 16.25 in (41.3 cm), and the ring adds a little more above that.
Construction is simple. You crochet a flat circular base and then work the walls up in joined rounds, with a ripple panel and a leveling round for a straight rim. The strap is worked flat in rows. Last, you edge the strap, sew the baskets onto it, and fold the top over the ring.
Finished Size and Construction
- Basket size: 5.5 in (14.0 cm) diameter × 4.25 in (10.8 cm) tall
- Skill level: Easy+ (you should be comfortable with joined rounds and color changes)
- Terminology: US
- Yarn weight: Worsted (#4) cotton
- Hook: 5.0 mm (US H-8)
- Number of pieces: 4 crocheted pieces (3 baskets, 1 strap) plus 1 wooden ring
- Layout: 3 baskets stacked vertically on one strap
- Strap size before border: 2 in × 18 in (5.1 cm × 45.7 cm)
- Strap size after border: 2.5 in × 18.5 in (6.4 cm × 47.0 cm)
- Border depth: 0.25 in (0.6 cm)
Materials
Use a smooth 100% cotton or cotton-blend worsted yarn with about 85 m per 50 g. Cotton holds structure better than acrylic and doesn’t sag under the weight of a roll.
- Navy: 120 g, about 204 m
- Cream: 50 g, about 85 m
Tools:
– 5.0 mm (US H-8) crochet hook
– 1 wooden ring, 2.5 in (6.4 cm) outer diameter
– 4 stitch markers
– Tapestry needle
– Scissors
– Rustproof pins or clips
– Measuring tape
These quantities include a margin of about 25% for gauge differences and swatching.
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- hdc – half double crochet
- dc – double crochet
- inc – 2 sc in the same stitch
- BLO – back loop only
- MR – magic ring
- st(s) – stitch(es)
Special stitch: sc3tog (single crochet 3 together). [Insert hook in next st, yo, pull up a loop] 3 times, yo, pull through all 4 loops on hook. This uses 3 stitches and makes 1.
Gauge and Checkpoints
Gauge: 14 sc and 16 rows = 4 in (10.2 cm) in sc. That is 3.5 sts and 4 rows per inch.
Your test piece is the first basket. Make one full basket before you start the rest. It covers every technique in the pattern, and if it fits a roll, your gauge is right.
Checkpoints:
– After Round 5 (30 sts): the base measures about 2.75 in (7.0 cm) across.
– After Round 10 (60 sts): the base measures about 5.5 in (14.0 cm) across, and the circumference is about 17 in (43.2 cm).
– After Round 25: the wall is about 4 in (10.2 cm) tall when measured from the turning ridge.
– Strap after Row 16: about 2 in × 4 in (5.1 cm × 10.2 cm).
If your piece is too big, go down to a 4.5 mm hook. If it is too small, go up to a 5.5 mm hook. Don’t change the stitch counts. The ripple needs a multiple of 12 stitches.

Basket (Make 3)
Use navy unless the round says otherwise. Join each round with a sl st to its first stitch. The ch 1 or ch 2 at the start of a round does not count as a stitch.
Base
Round 1: In an MR, ch 1, 6 sc. Join. (6)
Round 2: Ch 1, inc in each st around. Join. (12)
Round 3: Ch 1, sc 1, inc; repeat 6 times. Join. (18)
Round 4: Ch 1, sc 1, inc, sc 1; repeat 6 times. Join. (24)
Round 5: Ch 1, sc 3, inc; repeat 6 times. Join. (30)
Round 6: Ch 1, sc 2, inc, sc 2; repeat 6 times. Join. (36)
Round 7: Ch 1, sc 5, inc; repeat 6 times. Join. (42)
Round 8: Ch 1, sc 3, inc, sc 3; repeat 6 times. Join. (48)
Round 9: Ch 1, sc 7, inc; repeat 6 times. Join. (54)
Round 10: Ch 1, sc 4, inc, sc 4; repeat 6 times. Join. (60)
The increases are staggered so the base stays round and doesn’t turn into a hexagon. Check it against the 5.5 in (14.0 cm) checkpoint.
Walls
Round 11 (turning round): Ch 1, sc in the BLO of each st around. Join. (60)
This round leaves a ridge on the outside and makes the wall rise straight up from the base.
Ripple Round (used for Rounds 12–22): Ch 1. Make the first sc3tog over 3 stitches: the last st of the previous round (the one just before the join), the st holding the join, and the next st. Then sc 4, 3 sc in next st, sc 4. Sc3tog, sc 4, 3 sc in next st, sc 4; repeat from * 3 more times. Join to the first sc3tog. (60: 5 repeats of 12)
Each repeat uses 12 stitches and makes 12 stitches (1 + 4 + 3 + 4). After the first ripple round, each sc3tog sits right above the previous sc3tog, and each 3-sc group goes into the center stitch of the 3-sc group below it. That keeps the valleys and peaks lined up in straight columns, and the round seam always falls in a valley column.
Rounds 12–14: With navy, work the Ripple Round. (60 each round)
Rounds 15–19: Change to cream on the final yo of the Round 14 join. Work the Ripple Round. (60 each round)
Rounds 20–22: Change to navy on the final yo of the Round 19 join. Work the Ripple Round. (60 each round)
Carry the navy loosely up the inside of the wall while you work the cream rounds, then pick it back up. Cut the cream and leave a 6 in (15.2 cm) tail.
Round 23 (leveling round): Ch 2. Dc in the sc3tog, dc 1, hdc 2, sc 5, hdc 2, dc 1; repeat 5 times. Join to the first dc. (60: 15 dc + 20 hdc + 25 sc)
This is a conversion round with 60 stitches worked one into each existing stitch and 0 extra stitches added. The tall stitches fill each valley and the sc stay low over each peak, which gives you a straight top edge.
Rounds 24–25: Ch 1, sc in each st around. Join. (60 each round)
Leave the yarn attached for the Border round.
Checkpoint: The basket is 5.5 in (14.0 cm) across. One cream wave goes around the middle, with 5 peaks and 5 valleys.
Strap (Make 1)
Work the strap in navy.
Foundation: Ch 8.
Row 1: Sc in the 2nd ch from hook and in each ch across. Turn. (7)
Rows 2–72: Ch 1, sc in each st across. Turn. (7 each row)
Fasten off after Row 72. The strap measures 2 in × 18 in (5.1 cm × 45.7 cm).
Place markers in the row-end stitches of Rows 1, 19, 38, and 56. These mark the bottom of each basket and the start of the tab.
Make All Pieces
- Baskets: 3, each using about 25 g navy and 12 g cream
- Strap: 1, using about 15 g navy (edging included)
- Totals: about 90 g navy and 36 g cream before the margin
Layout (top to bottom, strap rows):
[ Wooden ring ]
Rows 65–72 fold-over, wrapped around ring
Rows 56–64 visible tab (2.25 in / 5.7 cm)
Rows 39–55 BASKET A (17 rows)
Rows 37–38 gap (0.5 in / 1.3 cm)
Rows 20–36 BASKET B (17 rows)
Rows 18–19 gap (0.5 in / 1.3 cm)
Rows 1–17 BASKET C (17 rows)
Joining
Work the Border section on all four pieces first (the strap edging and the basket rims). Then sew the baskets onto the strap.
Method: Whipstitch with navy yarn and a tapestry needle, working through both loops of each piece.
Stitch-to-stitch logic: On each basket, find the seam column. That’s the valley column where every round begins. Count 3 stitches to the left and 3 stitches to the right of it, which makes 7 columns. At 3.5 sts per inch, those 7 columns are 2 in (5.1 cm) wide, the same width as the strap body inside its edging.
Lay the basket over the strap with its base level with the basket’s first strap row (Row 1, 20, or 39). Sew two vertical seams:
- The left seam joins the basket’s left column to the strap’s first body stitch column.
- The right seam joins the basket’s right column to the last body stitch column.
Sew one basket round to one strap row. The basket and strap are both 4 per inch vertically. The only exception is Round 23, whose dc are about twice as tall, so it spans 2 strap rows. That gives 16 basket rounds (Rounds 11–25 plus the Border round) across 17 strap rows.
Then whipstitch the base edge (the Round 10 stitches between the two seams) to the bottom strap row of that basket.
Tension: Pull each stitch snug, but not so tight that the basket wall puckers. Its back should lie flat against the strap.
Ring: Slide the ring onto the tab. Fold Rows 65–72 to the back over the ring and whipstitch them across the back of Rows 57–64.
Size checkpoint: The visible strap from the bottom edge to the fold measures about 16.25 in (41.3 cm).
Border
Border gauge: 3.5 sts per inch (the same as the main gauge). Along row ends, that works out to 7 sc for every 8 rows.
Basket Rim (each basket)
Border Round: With the navy still attached after Round 25, ch 1. Sl st in each st around, working loosely. Join. (60)
Fasten off and weave in the ends.
Why it works: You work 60 sts into 60, so the circumference stays at about 17 in (43.2 cm). The slip stitches firm up the rim so it doesn’t flare.
Strap Edging
Round 1: Join navy in the first st of Row 72.
– Top edge: 3 sc in the first st, sc 5, 3 sc in the last st.
– First long side: work 63 sc evenly down the row ends, which is 7 sc for every 8 rows.
– Bottom edge: working into the underside of the foundation chain, 3 sc in the first ch, sc 5, 3 sc in the last ch.
– Second long side: work 63 sc evenly up the row ends.
Join to the first sc. Fasten off. (148)
Per-side counts: The center stitch of each 3-sc group is the corner stitch. Each short side has 9 sts and each long side has 67 sts, counting both corner stitches. Each corner is shared by two sides, so the total is 9 + 67 + 9 + 67 − 4 = 148.
Why the math works: 72 rows ÷ 8 = 9, and 9 × 7 = 63, so each long side gets 63 stitches over 18 in (45.7 cm). That’s 3.5 sts per inch, which matches the gauge, so the edges stay flat. The 3-sc groups add the extra stitches each 90° corner needs to turn. The strap grows by 0.25 in (0.6 cm) on every side, to 2.5 in × 18.5 in (6.4 cm × 47.0 cm).
Final Blocking
- Weave in all ends along stitches of the same color.
- Spray the whole piece lightly with water until it is damp but not soaked.
- Lay the strap flat and pin it straight at 2.5 in (6.4 cm) wide.
- Put a toilet roll, or a jar about 4.5 in (11.4 cm) wide, inside each basket so it dries round.
- Pull each rim level with your fingers and smooth the cream waves so they’re even.
- Let it dry completely, at least 24 hours, before you hang it.
Final Quality-Control Checklist
- [ ] Each basket has 60 sts in every wall round.
- [ ] Each basket has 5 cream peaks and 5 cream valleys.
- [ ] The rims are level, with no dips above the valleys.
- [ ] The baskets measure 5.5 in (14.0 cm) across.
- [ ] The strap edging has 148 sts, with 63 sts on each long side.
- [ ] The gaps between baskets are 0.5 in (1.3 cm).
- [ ] The ring is secure and the fold is sewn through all layers.
- [ ] There are no loose carried strands inside the baskets.
Troubleshooting
Waves drifting sideways: The sc3tog has to be centered on the previous sc3tog. Check that you included the last stitch of the previous round in it.
Rim dips over the valleys: You skipped the dc in Round 23 or swapped it for hdc. Redo the leveling round.
Base cups before Round 11: You’re crocheting too tightly. Go up a hook size for the base only.
Basket flares at the top: Work the Border round with a hook one size smaller.
Strap edges ripple: You added too many row-end stitches. Count 7 per 8 rows.
Basket tilts forward: Your seams are too short. Sew all 17 strap rows and the base edge.
Care
Hand wash in cool water with mild soap. Press out the water, reshape the baskets around a roll, and dry flat.

Final Notes
Everything in this pattern comes back to one measurement: 3.5 stitches and 4 rows per inch. With that gauge, 60 base stitches give a 5.5 in (14.0 cm) basket. Seventeen strap rows hold each 4.25 in (10.8 cm) basket, and 63 edging stitches lie flat along 18 in (45.7 cm) of strap. Check the first basket and the rest of the pieces will match it.
Happy crocheting!