This hanging toilet paper holder is made of three small oval baskets stacked one above the other. Two crocheted straps join them and hang from a single wooden ring. Each basket holds one standard roll and has a cream scalloped rim. On the front of each basket is a cream six-petal flower with a terracotta center and two sage-green leaves.
The palette is warm and earthy: terracotta, cream, and soft sage. The dense single crochet fabric holds its shape well, and the cottage-style flowers make the holder a cheerful addition to a bathroom.
This pattern uses US crochet terms. The finished holder is about 6.5 in (16.5 cm) wide at the base of each basket and about 21 in (53.3 cm) long from the top of the ring to the bottom of the lowest basket.
You work each basket in joined rounds from an oval base, then change to cream for a two-round scalloped rim. Next you make the flowers, leaves, and two flat straps. Finally, you sew the straps to the short ends of the baskets and wrap the top of each strap around the ring.
Finished Size and Construction
- Finished size: about 6.5 in (16.5 cm) wide x 21 in (53.3 cm) long, hanging
- Skill level: easy / advanced beginner
- Terminology: US crochet terms
- Yarn weight: #5 bulky
- Hook: 6 mm (US J-10)
- Number of pieces: 3 baskets, 3 flowers, 6 leaves, and 2 straps, plus 1 wooden ring
- Layout: 3 baskets stacked vertically, with 2 in (5.1 cm) of strap between them
- Basket base: 6.5 in x 4.5 in (16.5 x 11.4 cm), 52 sts around
- Basket height before rim: 3 in (7.6 cm) of side wall above the base ridge
- Rim (border) depth: about 0.75 in (1.9 cm), 2 rounds in cream
- Finished basket height: about 3.75 in (9.5 cm), including the rim
Materials
Choose a smooth #5 bulky yarn. Cotton or a cotton blend works best because it is firm, holds its shape, and handles bathroom humidity. Acrylic also works, but the walls will be a little softer. The amounts below assume a yarn with about 140 m per 100 g.
- Terracotta: 110 g (about 154 m) for the baskets, straps, and flower centers
- Cream: 30 g (about 42 m) for the rims and petals
- Sage green: 10 g (about 14 m) for the leaves
These amounts include a margin of roughly 30–40% for a gauge swatch and seaming.
Tools:
- 6 mm (US J-10) crochet hook
- Wooden ring, 3 in (7.6 cm) outer diameter
- Tapestry needle
- 6 locking stitch markers
- Scissors and a tape measure
- Rust-proof pins and a spray bottle for blocking
Abbreviations (US Terms)
- ch: chain
- sc: single crochet
- hdc: half double crochet
- dc: double crochet
- sl st: slip stitch
- BLO: back loop only
- MR: magic ring
- st(s): stitch(es)
- rnd(s): round(s)
Scallop: (sc in next st, 3 hdc in next st). Each scallop uses 2 sts from the previous round and makes 4 new sts.
Gauge and Checkpoints
Gauge: 12 sc and 12 rnds = 4 in (10.2 cm) in joined rounds of sc. One stitch and one round are each about 1/3 in (0.8 cm). Because a stitch and a round are the same size, you can sew one strap stitch to each basket round when joining.
Make one complete basket first and check it before you start the other two. Measure at these points:
- After Rnd 7: The base measures 6.5 in x 4.5 in (16.5 x 11.4 cm) and lies flat.
- After Rnd 16: The side wall measures 3 in (7.6 cm) from the base ridge.
- After Rnd 17: The side wall measures about 3 1/3 in (8.5 cm).
- After Rnd 18: The total height is about 3.75 in (9.5 cm).
If the base is too big and the roll sits loose, switch to a 5.5 mm hook. If the base is too small and the roll won’t drop in easily, switch to a 6.5 mm hook. Don’t add increase rounds to fix the size. That changes the 52-stitch count that the rim and strap math depend on.

Basket (Make 3)
Work in joined rounds. The ch 1 at the start of each round does not count as a stitch. Join each round with a sl st to the first sc.
With terracotta, ch 8.
Rnd 1: Sc in 2nd ch from hook and in next 5 ch, 3 sc in last ch. Rotate and work along the opposite side of the chain: sc in next 5 ch, 2 sc in last ch (the same ch that holds the first sc). Join. (16 sts)
Rnd 2: Ch 1, 2 sc in first st, sc in next 5 sts, 2 sc in each of next 3 sts, sc in next 5 sts, 2 sc in each of last 2 sts. Join. (22 sts)
Rnd 3: Ch 1, sc in first st, 2 sc in next st, sc in next 5 sts, [sc in next st, 2 sc in next st] 3 times, sc in next 5 sts, [sc in next st, 2 sc in next st] twice. Join. (28 sts)
Rnd 4: Ch 1, sc in next 2 sts, 2 sc in next st, sc in next 5 sts, [sc in next 2 sts, 2 sc in next st] 3 times, sc in next 5 sts, [sc in next 2 sts, 2 sc in next st] twice. Join. (34 sts)
Rnd 5: Ch 1, sc in next 3 sts, 2 sc in next st, sc in next 5 sts, [sc in next 3 sts, 2 sc in next st] 3 times, sc in next 5 sts, [sc in next 3 sts, 2 sc in next st] twice. Join. (40 sts)
Rnd 6: Ch 1, sc in next 4 sts, 2 sc in next st, sc in next 5 sts, [sc in next 4 sts, 2 sc in next st] 3 times, sc in next 5 sts, [sc in next 4 sts, 2 sc in next st] twice. Join. (46 sts)
Rnd 7: Ch 1, sc in next 5 sts, 2 sc in next st, sc in next 5 sts, [sc in next 5 sts, 2 sc in next st] 3 times, sc in next 5 sts, [sc in next 5 sts, 2 sc in next st] twice. Join. (52 sts)
Each round adds 6 sts, 3 at each curved end. The two straight sides stay at 5 sts. Check the base now: it should measure 6.5 in x 4.5 in (16.5 x 11.4 cm).
Rnd 8 (base ridge): Ch 1, sc in BLO of each st around. Join. (52 sts) The unused front loops form a neat ridge where the base turns up into the walls.
Rnds 9–16: Ch 1, sc in each st around. Join. (52 sts in each round)
Fasten off the terracotta. The side wall now measures 3 in (7.6 cm) from the ridge.
Mark the halves. Flatten the basket with the joining seam at one short end. Place a marker in the center stitch of each short end. The markers divide the round into a front half and a back half of 26 sts each. Use the half without the seam as the front.
Flower (Make 3)
Rnd 1: With terracotta, make a MR, ch 1, 6 sc in ring. Pull the ring closed and join. (6 sts)
Rnd 2: Ch 1, 2 sc in each st around. Join. (12 sts) The center measures about 1.25 in (3.2 cm) across. Fasten off.
Rnd 3 (petals): Join cream with a sl st in any st. [(Hdc, 3 dc, hdc) in next st, sl st in next st] 6 times, working the last sl st into the joining st. (6 petals; 36 sts = 30 petal sts + 6 sl sts)
Fasten off, leaving a 12 in (30.5 cm) tail for sewing. The flower measures about 2.75 in (7.0 cm) across.
Leaf (Make 6)
With sage green, ch 6.
Sc in 2nd ch from hook, hdc in next ch, dc in next ch, hdc in next ch, 3 sc in last ch. Rotate and work along the opposite side of the chain: hdc in next ch, dc in next ch, hdc in next ch, sc in last ch. Sl st to first sc. (11 sts)
Fasten off, leaving an 8 in (20.3 cm) tail. Each leaf measures about 1.75 in (4.4 cm) long and 1 in (2.5 cm) wide. The 3-sc end forms the tip. The sl st end is the base, which tucks under the flower.
Strap (Make 2)
With terracotta, ch 61.
Row 1: Sc in 2nd ch from hook and in each ch across. (60 sts)
Fasten off, leaving a 12 in (30.5 cm) tail. The strap measures 20 in (50.8 cm). Counting from the top end, mark these sections:
- Sts 1–6: ring wrap, 2 in (5.1 cm)
- Sts 7–18: top drop, 4 in (10.2 cm)
- Sts 19–28: top basket, 10 sts
- Sts 29–34: gap, 2 in (5.1 cm)
- Sts 35–44: middle basket, 10 sts
- Sts 45–50: gap, 2 in (5.1 cm)
- Sts 51–60: bottom basket, 10 sts
Check: 6 + 12 + 10 + 6 + 10 + 6 + 10 = 60 sts.
Make All Pieces
Before assembly, make sure you have these pieces:
- Terracotta: 3 baskets (Rnds 1–16), 3 flower centers, 2 straps
- Cream: 3 rims (Rnds 17–18, in the Border section below), 3 sets of petals
- Sage: 6 leaves
Layout, top to bottom:
( ring )
| |
strap strap <- 4 in (10.2 cm) drop
[ basket 1 + flower ]
| | <- 2 in (5.1 cm) gap
[ basket 2 + flower ]
| | <- 2 in (5.1 cm) gap
[ basket 3 + flower ]
Border: Cream Scalloped Rim
Work the rim on every basket before joining. The straps go on afterward and cover the rim’s first round at each short end.
Border gauge: Work Rnd 17 at the main gauge of 3 sc per inch. Rnd 18 adds about 0.4 in (1.0 cm) of height and flares slightly. The top of the rim opens to about 7 in (17.8 cm) across the long direction.
Rnd 17: Join cream with a sl st in the first st of Rnd 16. Ch 1, sc in each st around. Join. (52 sts: 26 front + 26 back)
Rnd 18: Ch 1, work 26 scallops around. Join to first sc. (104 sts = 52 worked one per existing st + 52 extra; 13 scallops on the front, 13 on the back)
Fasten off and weave in the ends.
Why the math works: Each scallop uses 2 sts. Each half has 26 sts, an even number, so each half holds exactly 13 scallops with no partial repeat. Rnd 17 has no increases, so the rim keeps the wall’s 52-stitch circumference. The only flare comes from the extra hdc in Rnd 18.
Joining
Appliqués first. On the front half of each basket, find the 13th st. Pin the flower so its center sits over that st on Rnd 12. Tuck the base of one leaf under the flower at the 4 o’clock position and the other at 8 o’clock, with the tips pointing outward and slightly down. Using the tails, whipstitch around the flower center and around the outer edge of each leaf. Leave the petal tips free.
Straps. Lay the three baskets in a column, front side up, with their short ends lined up. Sew one strap to each short end, centered over the end marker.
Sew one strap stitch to each basket round. On the top basket, sew strap sts 19–28 to Rnds 17–8 of the short end. St 19 sits on Rnd 17, just under the scallops, and st 28 sits on the base ridge (Rnd 8). Whipstitch both long edges of the strap through the basket stitches. Repeat with sts 35–44 on the middle basket and sts 51–60 on the bottom basket. Leave the 6-st gaps unsewn.
Ring. Pass sts 1–6 of each strap through the ring from front to back. Fold them down behind sts 7–12 and whipstitch them flat.
Tension: Sew firmly but not tightly. Tight seams pucker the strap and tip the basket forward.
Size checkpoint: Hang the holder empty. Measure 4 in (10.2 cm) from the ring to the top basket rim, 2 in (5.1 cm) at each gap, and about 21 in (53.3 cm) overall. Both straps should match, and all three baskets should hang level.
Final Blocking
- Wrap three toilet rolls in plastic bags.
- Set one inside each basket so the walls stand upright.
- Pin the petals and leaves flat against the walls.
- Mist the whole holder until it is lightly damp, not soaked.
- Shape the scallops with your fingers so all 13 on each front stand evenly.
- Lay the holder flat with the rolls in place and let it dry completely.
- Remove the pins and rolls, then hang the holder.
Final Quality-Control Checklist
- Each basket has 52 sts in Rnds 7–17 and 104 sts in Rnd 18.
- Each base measures 6.5 x 4.5 in (16.5 x 11.4 cm) and lies flat.
- The Rnd 8 ridge is visible all the way around each basket.
- Each rim shows 13 scallops on the front.
- Each flower has 6 even petals and is centered over Rnd 12.
- The leaves sit at 4 and 8 o’clock, mirroring each other.
- Each strap has 60 sts and is sewn at 1 st per round.
- Both straps wrap the ring by the same 6 sts.
- The baskets hang level, with 2 in (5.1 cm) gaps.
- All ends are woven in securely.
Troubleshooting
- The base cups upward: Your increases are too tight. Loosen your tension or go up one hook size.
- The base ruffles: You probably added extra stitches. Recount each round against 16, 22, 28, 34, 40, 46, and 52.
- The walls flare out: Your tension is too loose. Use a hook one size smaller for Rnds 9–17.
- The rim flips outward: Work tighter hdc in Rnd 18, or block the rim upright over the roll.
- A basket tips forward: The strap is off-center. Re-sew it over the end marker.
- The straps stretch: Before sewing, work a row of sl sts along one long edge of each strap.
Care
Hand wash in cool water with mild soap and roll the holder in a towel to remove the water. Dry it flat with a roll inside each basket, and do not tumble dry.

Final Notes
Every measurement in this pattern builds on the one before it. A gauge of 12 sc and 12 rnds = 4 in (10.2 cm) gives a 52-stitch base measuring 6.5 x 4.5 in (16.5 x 11.4 cm). That base supports 3 in (7.6 cm) walls and a 2-round rim with 13 scallops on each half. Because the basket is 10 rounds tall below the scallops, it matches a 10-stitch strap section. The holder adds up to a 4 in (10.2 cm) drop, three baskets, and two 2 in (5.1 cm) gaps, so it hangs about 21 in (53.3 cm) from the top of the ring.
Happy crocheting!