This hanging toilet paper holder stacks three round baskets on two sturdy straps that hang from a wooden dowel. Each basket holds one standard roll and has a butter-yellow tulip with two forest-green leaves on the front. Two small tulips sit at the top of the straps, right above the dowel.
The baskets and straps are worked in sage green. The basket walls use waistcoat stitch, which gives dense, knit-look V columns and helps them stand up on their own. A rolled reverse single crochet rim finishes each basket.
The pattern uses US crochet terms. The finished holder is about 6.5 in (16.5 cm) wide and 19 in (48.3 cm) tall. Each basket is 5.5 in (14.0 cm) across and about 3.6 in (9.1 cm) deep.
To build it, you crochet three baskets from the base up, two flat straps, and the appliqué pieces. Then you sew the appliqués on, stitch the straps to the basket sides one strap row to one basket round, and fold the strap tops over the dowel.
Finished Size and Construction
- Finished size: about 6.5 in (16.5 cm) wide x 19 in (48.3 cm) tall
- Skill level: Easy-intermediate
- Terminology: US
- Yarn weight: Bulky (#5)
- Hooks: 6.0 mm (J-10) for the baskets and straps; 5.0 mm (H-8) for the appliqués
- Number of pieces: 3 baskets, 2 straps, 5 tulip heads, 6 large leaves, 4 mini leaves (20 pieces)
- Layout: 1 column of 3 baskets with 2 straps running down the sides
- Basket size: 5.5 in (14.0 cm) base diameter, 3.6 in (9.1 cm) wall height
- Wall height before border: 3 in (7.6 cm)
- Border depth: 0.6 in (1.5 cm)
- Strap: 1.1 in (2.8 cm) wide x 20 in (50.8 cm) long before folding
Materials
Use a smooth, firm cotton or cotton-blend in bulky weight. Cotton holds its shape better than acrylic, and it copes well with bathroom humidity. Avoid splitty or very soft yarns, because waistcoat stitch needs clear Vs.
- Sage green (A): 160 g, about 160 m (175 yd)
- Butter yellow (B): 20 g, about 20 m (22 yd)
- Forest green (C): 15 g, about 15 m (16 yd)
Tools:
- 6.0 mm (J-10) and 5.0 mm (H-8) crochet hooks
- Wooden dowel, 12 in (30.5 cm) long, 0.75 in (1.9 cm) in diameter
- Stitch markers
- Tapestry needle
- Scissors
- Measuring tape
- Pins
All quantities include a margin of about 15% for gauge differences, swatching, and sewing tails.
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
- st(s) – stitch(es)
- rnd(s) – round(s)
- rev sc – reverse single crochet (crab stitch): working left to right, insert hook in next st to the right, pull up a loop, yo, pull through both loops
- ch-2 picot – ch 2, sl st in 2nd ch from hook
Waistcoat stitch (wst): Insert the hook through the center of the V of the stitch below, between its two vertical legs and under the horizontal strands behind. Yo, pull up a loop, yo, pull through both loops. This stacks each new V directly on top of the one below and creates the vertical columns.
Gauge and Checkpoints
Gauge: 11 sc and 12 rnds = 4 in (10.2 cm) with a 6.0 mm hook. Waistcoat stitch should match this gauge in rounds.
Make one full basket before you start the others. It is your real gauge swatch.
- After Rnd 4 (24 sts): base is about 2.75 in (7.0 cm) across.
- After Rnd 8 (48 sts): base is 5.5 in (14.0 cm) across and lies flat.
- After Rnd 17: wall is 3 in (7.6 cm) tall, measured from the Rnd 9 ridge.
- After Rnd 19: wall is 3.6 in (9.1 cm) tall.
- Strap: 3 sts = 1.1 in (2.8 cm); 12 rows = 4 in (10.2 cm).
If your base is too large, change to a 5.5 mm hook. If it is too small, or a roll will not drop in easily, change to a 6.5 mm hook. Do not change the stitch counts, because the strap seams match 1 row to 1 round.

Basket (make 3)
With A and a 6.0 mm hook. Work in a continuous spiral. Place a marker in the first st of each rnd and move it up as you go.
Base
- Rnd 1: Magic ring, 6 sc in ring. (6 sts)
- Rnd 2: 2 sc in each st around. (12 sts)
- Rnd 3: *Sc in next st, 2 sc in next st; rep from * around. (18 sts)
- Rnd 4: *Sc in next 2 sts, 2 sc in next st; rep from * around. (24 sts)
- Rnd 5: *Sc in next 3 sts, 2 sc in next st; rep from * around. (30 sts)
- Rnd 6: *Sc in next 4 sts, 2 sc in next st; rep from * around. (36 sts)
- Rnd 7: *Sc in next 5 sts, 2 sc in next st; rep from * around. (42 sts)
- Rnd 8: *Sc in next 6 sts, 2 sc in next st; rep from * around. (48 sts)
Checkpoint: the base measures 5.5 in (14.0 cm) and lies flat.
Walls
- Rnd 9: Sc BLO in each st around. (48 sts) This makes a ridge, and the work turns upward.
- Rnds 10–17: Wst in each st around. (48 sts per rnd)
Checkpoint: the wall is 3 in (7.6 cm) tall from the Rnd 9 ridge. The wall should rise straight up, not flare out or pull in.
Continue directly into the border (below).
Strap (make 2)
With A and a 6.0 mm hook.
- Foundation: Ch 4.
- Row 1: Sc in 2nd ch from hook and in each ch across. (3 sts)
- Rows 2–60: Ch 1, turn, sc in each st across. (3 sts)
Fasten off. The strap measures 1.1 in (2.8 cm) x 20 in (50.8 cm). Mark these sections with removable markers, counting up from Row 1:
- Rows 1–11: bottom basket
- Rows 12–18: gap, about 2.3 in (5.8 cm)
- Rows 19–29: middle basket
- Rows 30–36: gap, about 2.3 in (5.8 cm)
- Rows 37–47: top basket
- Rows 48–51: clearance below the dowel, about 1.3 in (3.3 cm)
- Rows 52–60: dowel fold, 3 in (7.6 cm)
Appliqués
With a 5.0 mm hook. Leave a 12 in (30.5 cm) tail on every piece for sewing.
Tulip Head (make 5, B)
- Foundation: Ch 6.
- Row 1: Sc in 2nd ch from hook and in each ch across. (5 sts)
- Row 2: Ch 1, turn, 2 sc in first st, sc in next 3 sts, 2 sc in last st. (7 sts)
- Rows 3–4: Ch 1, turn, sc in each st across. (7 sts)
- Row 5 (petals): Ch 1, turn. Sl st in st 1; (hdc, dc, ch-2 picot, dc, hdc) in st 2; sl st in st 3; (dc, tr, ch-2 picot, tr, dc) in st 4; sl st in st 5; (hdc, dc, ch-2 picot, dc, hdc) in st 6; sl st in st 7. (3 petals; the center petal is tallest)
- Edging: Working down the side, sc in 4 row ends; sc in 5 foundation chs; sc in 4 row ends up the other side; sl st to the base of the first petal. (13 sc)
The tulip is about 2.25 in (5.7 cm) wide and 2 in (5.1 cm) tall.
Large Leaf (make 6, C)
- Ch 8. Starting in the 2nd ch from hook: sc, hdc, dc, dc, hdc, sc (6 sts). Work 3 sc in the last ch. Turn the piece and work along the other side of the chain: sc, hdc, dc, dc, hdc, sc (6 sts). Work (sl st, ch-2 picot, sl st) in the skipped tip ch. (15 sts + tip picot)
Each leaf is about 2.4 in (6.1 cm) long and 1 in (2.5 cm) wide.
Mini Leaf (make 4, C)
- Ch 5. Starting in the 2nd ch from hook: sc, hdc, hdc (3 sts). Work 3 sc in the last ch. Along the other side of the chain: hdc, hdc, sc (3 sts). Work (sl st, ch-2 picot, sl st) in the skipped tip ch. (9 sts + tip picot)
Each mini leaf is about 1.25 in (3.2 cm) long.
Make All Pieces
| Piece | Qty | Color |
|---|---|---|
| Basket | 3 | A |
| Strap | 2 | A |
| Tulip head | 5 | B |
| Large leaf | 6 | C |
| Mini leaf | 4 | C |
Layout, seen from the front:
[tulip] [tulip]
strap ====== dowel ====== strap
| rows 48-51 clearance |
|[ Basket 1: rows 37-47 ] |
| rows 30-36 gap |
|[ Basket 2: rows 19-29 ] |
| rows 12-18 gap |
|[ Basket 3: rows 1-11 ] |
Appliqué placement (before joining): Each basket front is the 24 sts between the two strap columns. Pin two large leaves with their base ends meeting at the center of the front, 2 rnds above the Rnd 9 ridge. Angle the tips up and outward, one toward the lower left and one toward the lower right. Pin a tulip head over the inner ends of the leaves so the base of the cup covers where they meet. Sew the leaves down first, then the tulip, with small whipstitches around each edge. Use the matching color for each piece and stitch only through the outer layer of the basket wall.
Joining
Method: Whipstitch, with A and a tapestry needle.
Stitch-to-stitch logic: On each basket, mark st 1 and st 25 of Rnd 17. These two columns are directly opposite each other and split the 48 sts into a 24-st front and a 24-st back. Center a strap, wrong side against the wall, on each marked column.
Strap gauge and wall gauge are both 12 per 4 in (10.2 cm). That means 11 strap rows match the 11 wall rnds (Rnds 9–19) one to one:
- Bottom basket: strap Rows 1–11 → Rnds 9–19
- Middle basket: strap Rows 19–29 → Rnds 9–19
- Top basket: strap Rows 37–47 → Rnds 9–19
Whipstitch both long edges of the strap to the wall, one stitch per row. Leave the gap rows free.
Tension: Pull each stitch snug, but not tight enough to pucker the wall. The strap should lie flat with no rippling.
Dowel fold: Slide the dowel across the front of Row 52 on both straps. Fold Rows 52–60 over the dowel to the back so that Row 60 sits behind Row 52. Whipstitch across Row 60 and down both sides, leaving a channel for the dowel.
Top tulips: Sew two mini leaves angled outward at the top of each fold, around Row 56. Then sew a tulip head over them so the petals rise above the dowel. On the back of each fold, attach a ch-12 hanging loop with A.
Size checkpoint: The rims are 2.3 in (5.8 cm) apart between baskets. The top of the strap fold is about 1.3 in (3.3 cm) above the top basket rim.
Border
The border is the rim of each basket, worked straight on from Rnd 17 with A and a 6.0 mm hook.
Border gauge: 11 sts = 4 in (10.2 cm), the same as the wall.
- Rnd 18: Sc in each st through both loops. (48 sts: 24 front + 24 back)
- Rnd 19: Rev sc in each st around. (48 sts: 24 front + 24 back)
Join with an invisible join and weave in the end.
Why the math works: Both rounds are worked one stitch into each existing stitch, so the rim keeps the same 48 sts as the wall and does not flare out or ruffle. The strap columns stay at st 1 and st 25, so each half still has exactly 24 sts. Rnds 9–19 make 11 rounds, which matches the 11 strap rows sewn to each basket. The 2 border rounds add 0.6 in (1.5 cm), taking the wall from 3 in (7.6 cm) to 3.6 in (9.1 cm).
Final Blocking
- Lightly spritz each basket with water.
- Stuff each basket with a toilet roll wrapped in a towel, so the walls set round and upright.
- Pat the appliqués flat and press the leaf tips into points.
- Pin the straps out straight on a flat surface, keeping the gaps at 2.3 in (5.8 cm).
- Let everything dry completely, at least 24 hours.
- Remove the rolls and towels, and insert the dowel.
Final Quality-Control Checklist
- Every basket has 48 sts in Rnds 8–19.
- Each base is 5.5 in (14.0 cm) across and lies flat.
- Each wall is 3.6 in (9.1 cm) tall.
- The rev sc rims are smooth all the way around.
- Strap columns are directly opposite each other at st 1 and st 25.
- Each tulip has 3 petals, and the center petal is tallest.
- The leaves sit symmetrically under each tulip.
- Gaps between baskets are even.
- The dowel channels are snug but slide easily.
- All ends are woven in securely.
Troubleshooting
- Wall pulls inward: Waistcoat stitch is dense. Change to a 6.5 mm hook for Rnds 10–17 only.
- Wall flares outward: Your Rnd 8 ran large. Change to a 5.5 mm hook for the walls.
- Columns slant: This is normal in a spiral. Block the basket on a roll and it will mostly even out.
- Basket tilts forward: The strap is sewn off-center. Re-pin it on st 1 and st 25 and sew again.
- Petals curl: Steam-block them flat and pin the picots down while they dry.
- Gaps uneven: Re-count the strap rows against the section list.
Care
Hand wash in cool water and lay flat to dry, shaping the baskets over rolls. Remove the dowel before washing.

Final Notes
The measurement chain runs like this. Rnd 8 gives a 5.5 in (14.0 cm) base with 48 sts. Rnds 9–17 build a 3 in (7.6 cm) wall at the same count. The 2 border rounds bring the wall to 3.6 in (9.1 cm). Each 11-round wall matches 11 strap rows exactly. Two 7-row gaps of 2.3 in (5.8 cm), a 4-row clearance, and a 9-row fold make up the 60-row strap of 20 in (50.8 cm). Together they produce a holder about 19 in (48.3 cm) tall.
Happy crocheting!