This hanging toilet paper holder has three cream baskets stacked like rungs on a ladder. Each basket holds one standing roll, and the top of the roll shows above the rim. Two firm side straps hold the baskets together and hang from a short wooden dowel.
Each basket has a coral flower with a brown center and two green leaves on the front. The middle flower is worked in orange-coral for a little variety. The walls use griddle stitch, a simple alternating pattern of single and double crochet that gives the bumpy, woven texture in the photo. The yarn is cotton, so the baskets stand up well.
This pattern uses US crochet terms. The finished holder is about 6 in (15.2 cm) wide and 19.5 in (49.5 cm) long, measured from the top of the dowel loop to the bottom of the straps.
Construction overview: Each basket starts as a flat rectangular base worked in rows. You then work the walls in joined rounds around the base and finish with a two-round rim. Next you make two straps and sew them to the short sides of all three baskets. Finally, you add the flowers and leaves.
Finished Size and Construction
- Finished size: about 6 in (15.2 cm) wide x 19.5 in (49.5 cm) long
- Skill level: Easy / Advanced Beginner
- Terminology: US
- Yarn weight: #4 worsted, 100% cotton
- Hook: 5.0 mm (H-8)
- Number of pieces: 16 (3 baskets, 2 straps, 3 large flowers, 6 leaves, 2 small flowers)
- Layout: 3 baskets in one vertical column, 1.5 in (3.8 cm) apart
- Single basket size: 5.1 in (13.0 cm) wide x 4.6 in (11.7 cm) deep x 3.5 in (8.9 cm) tall
- Wall height before rim: 3.1 in (7.9 cm)
- Rim (border) depth: 0.4 in (1.0 cm)
Materials
Use a smooth, worsted-weight cotton or cotton blend. Acrylic works too, but the baskets will be softer and will sag more under the weight of a roll. The amounts below assume about 1.7 m per gram, which is typical for a 50 g / 85 m cotton ball.
- Cream (main color): 160 g / 272 m
- Coral: 20 g / 34 m
- Orange-coral: 10 g / 17 m
- Brown: 10 g / 17 m
- Green: 10 g / 17 m
These quantities include a margin of about 10–15% for gauge swatches and differences between yarns.
Tools:
- 5.0 mm (H-8) crochet hook
- Yarn needle
- 8 stitch markers
- Scissors and a measuring tape
- Wooden dowel, 0.75 in (1.9 cm) in diameter and 9 in (22.9 cm) long
- Rustproof pins for blocking
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- hdc – half double crochet
- dc – double crochet
- BLO – back loop only
- st(s) – stitch(es)
- rnd – round
- MR – magic ring
Special stitch: griddle stitch. You alternate sc and dc, and on each new row or round you work a sc into each dc and a dc into each sc. Because the short and tall stitches stack in a checkerboard, the fabric is dense and bumpy. This stitch needs an even stitch count.
Gauge and Checkpoints
Gauge: 14 sts and 14 rows = 4 in (10.2 cm) in griddle stitch.
Before making all three, make one complete basket and check it against these measurements:
- Base after Row 16: 5.1 in (13.0 cm) x 4.6 in (11.7 cm)
- Wall height after Rnd 11: 3.1 in (7.9 cm)
- Wall height after the rim (Rnd 13): 3.5 in (8.9 cm)
- Distance around the rim: about 19.4 in (49.3 cm)
If the basket is too big, go down half a hook size. If it’s too small, go up half a hook size. Don’t add or remove stitches. Many parts of the pattern depend on the 68-stitch round, including where the straps sit and the rim counts.
Roll fit: A standard roll is about 4.5 in (11.4 cm) across. If you use extra-large rolls, add 2 chains to the base (giving 20 sts and 72 sts per round) and adjust every count on the long sides to match.

Basket (Make 3)
Use cream yarn throughout.
Base
Ch 19.
Row 1: Sc in the 2nd ch from the hook, then dc in the next ch. Sc in the next ch, dc in the next ch. Repeat from * across. Turn. (18 sts)
Row 2: Ch 1 (does not count as a stitch). Sc in the first st (a dc), then dc in the next st (a sc). Continue alternating, placing a sc in each dc and a dc in each sc. Turn. (18 sts)
Rows 3–16: Repeat Row 2. At the end of Row 16, don’t turn. (18 sts per row)
Checkpoint: The base should measure 5.1 in (13.0 cm) x 4.6 in (11.7 cm).
Walls
Rnd 1: Ch 1 and rotate the base. Work 1 sc in the end of each row down the short side (16 sc). Work 1 sc in each foundation ch along the long side (18 sc). Work 1 sc in the end of each row up the other short side (16 sc). Work 1 sc in each st of Row 16 (18 sc). Sl st to the first sc to join. (68 sc)
These side counts already include the corner stitches. Place markers at sts 1, 17, 35 and 51 to mark where each side starts.
Rnd 2 (base ridge): Ch 1. Working in BLO, sc in the first st, dc in the next, and keep alternating around. Join. (68 sts: 34 sc, 34 dc)
Working in the back loops leaves a firm ridge that gives the bottom of the basket a clean edge.
Rnds 3–11: Ch 1 and work through both loops. On odd-numbered rounds, start with a dc in the first st (which is a sc). On even-numbered rounds, start with a sc in the first st (which is a dc). In both cases, keep placing a sc in each dc and a dc in each sc around, then join. (68 sts each round)
Checkpoint: The walls should measure 3.1 in (7.9 cm) from the base ridge. Leave the yarn attached and go on to the rim (see Border).
Straps (Make 2)
Use cream yarn.
Ch 80.
Row 1: Sc in the back bump of the 2nd ch from the hook and in each ch across. Turn. (79 sc)
Row 2: Ch 1, then sl st in each st across. (79 sl st)
Fasten off and leave a 24 in (61.0 cm) tail for sewing.
The row of slip stitches firms up the strap so it doesn’t stretch under the weight of the rolls. It also gives the strap its braided look.
Checkpoint: Each strap should be 21 in (53.3 cm) long and about 3/8 in (1.0 cm) wide. If yours is shorter or longer by more than 0.5 in (1.3 cm), add or remove chains, about 4 chains per inch.
Large Flower (Make 3)
Rnd 1 (brown): Make a MR, ch 1, and work 10 sc into the ring. Pull the ring closed and join. (10 sc)
Rnd 2 (brown): Ch 1 and work 2 sc in each st around. Join, then fasten off. (20 sc)
Rnd 3 (petals): Join coral (or orange-coral for the middle flower) in any st. Repeat the following 5 times: sc in the next st, (hdc, 2 dc) in the next st, (2 dc, hdc) in the next st, sc in the next st. Join. (5 petals; 8 sts each; 40 sts total)
Rnd 4 (edging, coral on all flowers): Sl st in each st around. Join and fasten off. (40 sl st)
Checkpoint: Each flower should be about 2.75 in (7.0 cm) across.
Leaf (Make 6)
Use green yarn.
Ch 7. Starting in the 2nd ch from the hook, work: sc, hdc, dc in the next 2 ch, hdc, then 3 sc in the last ch (this is the tip).
Rotate and work along the other side of the foundation chain: hdc, dc in the next 2 ch, hdc, sc. Sl st to the first sc to join. (13 sts)
Fasten off and leave a tail. Each leaf should be about 1.5 in (3.8 cm) long, with a pointed tip.
Small Flower (Make 2)
Rnd 1 (brown): Make a MR, ch 1, and work 5 sc into the ring. Join and fasten off. (5 sc)
Rnd 2 (coral): In each st, work (sl st, ch 2, dc, ch 2, sl st). Join. (5 petals)
Each small flower should be about 1.25 in (3.2 cm) across.
Make All Pieces
| Piece | Qty | Color |
|---|---|---|
| Basket | 3 | Cream |
| Strap | 2 | Cream |
| Large flower | 2 | Brown + coral |
| Large flower | 1 | Brown + orange-coral, coral edging |
| Leaf | 6 | Green |
| Small flower | 2 | Brown + coral |
Layout (front view, top to bottom):
[sf]=========dowel=========[sf]
| |
| [ Basket 1 – coral ] |
| |
| [ Basket 2 – orange ] |
| |
| [ Basket 3 – coral ] |
| |
In this diagram, sf is a small flower and | is a strap.
Joining
Method: Whipstitch with the strap tails, using a yarn needle.
Strap placement on each basket: Each strap goes down the center of one short side. On the first short side (sts 1–16), center the strap over sts 8–9. On the second short side (sts 35–50), center it over sts 42–43. Because every round has 68 stitches, these positions line up from Rnd 1 to Rnd 13.
Strap loop: Fold the top 3 in (7.6 cm) of a strap back on itself and sew the tip to the strap to form a loop. Slide both loops onto the dowel.
Positions: Measure down from the top of the dowel:
| Basket 1 | Basket 2 | Basket 3 | |
|---|---|---|---|
| Rim at | 5 in (12.7 cm) | 10 in (25.4 cm) | 15 in (38.1 cm) |
| Base at | 8.5 in (21.6 cm) | 13.5 in (34.3 cm) | 18.5 in (47.0 cm) |
Below Basket 3, a 1 in (2.5 cm) tail of strap hangs free. Pin all three baskets in place before you sew anything.
Stitch-to-stitch logic: Each wall has 13 rounds (Rnds 1–13). Make one whipstitch per round along each long edge of the strap. That’s 13 stitches per edge, or 26 per strap on each basket. At Rnd 2 (the base ridge) and Rnd 13 (the rim), make a second stitch in the same spot, because these points carry the most weight.
Tension: Sew snugly, but don’t let the wall pucker. The strap should lie flat against the basket without bunching.
Checkpoint: With the holder hanging, the baskets should sit level and 1.5 in (3.8 cm) apart, and the total length should be 19.5 in (49.5 cm).
Appliqué: Center each large flower on the front long side of its basket, over Rnds 3–11. Tuck one leaf behind the left edge and one behind the right edge, angled slightly outward. Sew them down around the edge of Rnd 2 of the flower and along the base of each leaf. Sew a small flower over each strap loop joint.
Border (Basket Rim)
The rim is worked straight on from the last wall round, before you join the baskets to the straps.
Border gauge: Two rounds of sc add about 0.4 in (1.0 cm) of height.
Rnd 12: Ch 1 and sc in each st around. Join. Per side, that’s 16 sc on the short side, 18 sc on the long side, 16 sc on the short side and 18 sc on the long side. (68 sc)
Rnd 13: Ch 1 and sc in each st around. Join and fasten off. Per side: 16 / 18 / 16 / 18. (68 sc)
Why the math works: The rim starts from the same 68 stitches as Rnd 1: 16 + 18 + 16 + 18. Those counts already include the corner stitches, so no stitches are added at the corners. Because you work one stitch into each stitch, the rim keeps the same 19.4 in (49.3 cm) distance around as the base. The walls stay straight instead of flaring out or pulling in, and the smooth sc rounds give the edge a neat, firm finish.
Final Blocking
- Lightly mist each basket, or steam it, holding the iron above the fabric without touching it.
- Put a roll of paper wrapped in a plastic bag inside each basket to hold the shape.
- Pull the corners square and pin the base flat.
- Pin the flowers flat on a towel, opening each petal.
- Let everything dry completely before you join the pieces.
- Hang the finished holder and straighten the straps by hand.
Final Quality-Control Checklist
- Each basket has 68 stitches in every round, from Rnd 1 to Rnd 13.
- Each basket is 5.1 in (13.0 cm) x 4.6 in (11.7 cm) x 3.5 in (8.9 cm).
- The straps are centered on the short sides and sewn at all 13 rounds.
- The gaps between baskets are 1.5 in (3.8 cm).
- The total length is 19.5 in (49.5 cm).
- The flowers are centered and the leaves are even on both sides.
- All yarn ends are woven in and hidden.
Troubleshooting
- The walls flare out: Your tension is loose. Go down a hook size for the walls.
- The basket leans forward: The straps are sewn too close to the front. Re-center them on sts 8–9 and 42–43.
- The straps stretch: Make sure you worked Row 2 in slip stitches. You can also hang the holder with fewer rolls in it.
- The petals curl: Block them flat, or check that Rnd 2 of the flower has exactly 20 sc.
- The texture stripes instead of checkering: You placed a sc in a sc. Restart the round, making sure each sc goes into a dc and each dc goes into a sc.
- The rolls won’t fit: Use the extra-large roll option in Gauge and Checkpoints.
Care
Hand wash cold and lay flat to dry, with something inside each basket to hold the shape. Take the holder off the dowel before washing.

Final Notes
Everything in this pattern builds on one measurement: 14 stitches per 4 in (10.2 cm). That gauge gives an 18 x 16 base of 5.1 in (13.0 cm) x 4.6 in (11.7 cm). The base turns into a 68-stitch round that stays the same through the walls and rim, so each basket finishes 3.5 in (8.9 cm) tall. Straps that are 21 in (53.3 cm) long then hold three baskets in a 19.5 in (49.5 cm) column. If you check your gauge on the first basket, the other two pieces will match it. Happy crocheting!