This hanging holder keeps three spare toilet rolls tidy and in sight. It has three round, open-top baskets stacked one above the other. Two sage straps run down the sides and meet at a natural wooden ring at the top. Each basket has a solid sage base, a blush-and-sage checkerboard wall and a neat sage rim.
The colors are soft and calm: sage green and blush pink in a matte cotton, with light wood at the top. The checkerboard is worked in tapestry single crochet, which makes a dense, firm fabric that keeps its shape without stiffener. The pattern uses US crochet terms throughout.
Each basket measures about 5.5 in (14.0 cm) across and 4 in (10.2 cm) tall. Hung from the ring, the finished holder is about 23 in (58.4 cm) long.
Construction is simple. You work each basket from the bottom up in joined rounds: a flat base, one back-loop turning round, 15 checkerboard rounds and a short sage rim. Then you crochet two long straps in rows. Finally you sew the straps to opposite sides of the baskets and wrap their top ends around the ring.
Finished Size and Construction
- Finished size: each basket 5.5 in (14.0 cm) diameter x 4 in (10.2 cm) tall; full holder about 23 in (58.4 cm) long
- Skill level: Intermediate (tapestry color changes)
- Terminology: US crochet terms
- Yarn weight: worsted (#4) cotton
- Hook: 4.0 mm (G-6)
- Number of pieces: 5 crocheted pieces (3 baskets, 2 straps) plus 1 wooden ring
- Layout: 3 baskets in a vertical column, 1.5 in (3.8 cm) apart, with 1 strap on each side
- Piece size: basket circumference 17.5 in (44.5 cm), 70 sts; strap 23 in (58.4 cm) x 1.1 in (2.8 cm)
- Size before rim: wall height about 3.6 in (9.1 cm) after Rnd 26
- Rim depth: 2 sc rounds plus 1 slip-stitch round, about 0.5 in (1.3 cm)
Materials
Choose a smooth worsted-weight cotton or cotton blend. Cotton gives crisp checkerboard blocks and holds a basket shape well. Avoid fuzzy or very stretchy yarns, because the blocks will blur and the baskets may sag.
- Sage green (Color A): about 210 g / 400 m
- Blush pink (Color B): about 110 g / 210 m
These quantities include a margin of roughly 20 percent. Tapestry crochet carries the unused color inside the stitches, so both colors are used all the way through the checkerboard.
Tools:
- 4.0 mm (G-6) crochet hook
- 1 wooden ring, 2.75 in (7.0 cm) diameter
- Tapestry needle
- 14 stitch markers
- Measuring tape
- Scissors
- Pins
- 1 standard toilet roll for shaping and testing
Abbreviations (US Terms)
- ch – chain
- sc – single crochet
- sl st – slip stitch
- st(s) – stitch(es)
- BLO – back loop only
- Rnd – round
- A – Color A (sage)
- B – Color B (blush)
- inc – 2 sc in the same st
- [ ] – repeat the steps in brackets as directed
Special stitch – tapestry sc color change: Work the last sc before the new color until 2 loops remain on the hook. Yarn over with the new color and pull through both loops. Lay the unused color along the tops of the stitches you are working into, and work every sc around it so it stays hidden inside the fabric. Keep the carried strand relaxed, not tight.
Gauge and Checkpoints
Gauge: 16 sc x 18 rnds = 4 in (10.2 cm) in tapestry sc worked in the round with a 4.0 mm hook.
At this gauge, a 5-st block is 1.25 in (3.2 cm) wide and a 5-rnd block is about 1.1 in (2.8 cm) tall, so the blocks look nearly square.
Test one piece first. Make one full basket before starting the others. It works as your gauge swatch and shows whether a toilet roll fits.
Checkpoints:
- After Rnd 10, the flat base measures about 5.5 in (14.0 cm) across.
- After Rnd 16, the wall measures about 1.3 in (3.3 cm) tall from the turning ridge.
- After Rnd 26, the wall measures about 3.6 in (9.1 cm) tall.
- After Rnd 29, the wall measures 4 in (10.2 cm) tall, and a roll drops in easily.
If your basket is too big, go down 0.5 mm in hook size and remake the base. If it is too small or a roll will not fit, go up 0.5 mm. Do not change the stitch counts. The 70-st count is tied to the 14 blocks of the checkerboard.

Basket (Make 3)
Work in joined rounds and do not turn. 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.
Base
With A, make a magic ring.
Rnd 1: Ch 1, 7 sc in ring, join. (7 sts)
Rnd 2: Ch 1, inc in each st around, join. (14 sts)
Rnd 3: Ch 1, [sc 1, inc] 7 times, join. (21 sts)
Rnd 4: Ch 1, [sc 2, inc] 7 times, join. (28 sts)
Rnd 5: Ch 1, [sc 3, inc] 7 times, join. (35 sts)
Rnd 6: Ch 1, [sc 4, inc] 7 times, join. (42 sts)
Rnd 7: Ch 1, [sc 5, inc] 7 times, join. (49 sts)
Rnd 8: Ch 1, [sc 6, inc] 7 times, join. (56 sts)
Rnd 9: Ch 1, [sc 7, inc] 7 times, join. (63 sts)
Rnd 10: Ch 1, [sc 8, inc] 7 times, join. (70 sts)
Tip: on even rounds from Rnd 4 on, offset the increases. Work half of the plain sc before the first inc and the rest at the end of the round. This keeps the base round instead of seven-sided.
Checkpoint: the base lies flat and measures about 5.5 in (14.0 cm) across.
Turning Round
Rnd 11: With A, ch 1, sc in BLO of each st around, join. (70 sts)
This round makes a crisp ridge on the outside and turns the work upward into a wall. Bring in B on the last sc of this round and start carrying it.
Checkerboard Wall
From here on, work into both loops. Place a marker after every 5th st of Rnd 12 to mark the 14 block boundaries.
Rnds 12–16 (tier 1): Ch 1, [5 sc with B, 5 sc with A] 7 times, join. (70 sts: 35 B + 35 A)
Rnds 17–21 (tier 2): Ch 1, [5 sc with A, 5 sc with B] 7 times, join. (70 sts: 35 A + 35 B)
Rnds 22–26 (tier 3): Ch 1, [5 sc with B, 5 sc with A] 7 times, join. (70 sts: 35 B + 35 A)
Change color on the final pull-through of the st before each new block. Make the joining sl st in the color of the first block of the next round. This keeps the block edges straight.
Checkpoint: you have 3 tiers of 14 blocks each. The wall measures about 3.6 in (9.1 cm) above the ridge. Cut B at the end of Rnd 26, leaving a 4 in (10.2 cm) tail. Keep A attached, put its loop on a marker and set the basket aside. You work the rim after joining (see Rim below).
Strap (Make 2)
With A, ch 93.
Row 1: Sc in 2nd ch from hook and in each ch across, turn. (92 sts)
Rows 2–5: Ch 1, sc in each st across, turn. (92 sts)
Fasten off, leaving a 24 in (61.0 cm) tail for sewing.
Checkpoint: the strap measures 23 in (58.4 cm) long x 1.1 in (2.8 cm) wide. If it is longer, your chain was loose. Remake it using a smaller hook for the foundation chain only.
Mark these sections along one long edge, counting from the tail end:
- Sts 1–8: ring wrap, 2 in (5.1 cm)
- Sts 9–32: top drop, 6 in (15.2 cm)
- Sts 33–48: Basket 1, 4 in (10.2 cm)
- Sts 49–54: gap, 1.5 in (3.8 cm)
- Sts 55–70: Basket 2, 4 in (10.2 cm)
- Sts 71–76: gap, 1.5 in (3.8 cm)
- Sts 77–92: Basket 3, 4 in (10.2 cm)
Check: 8 + 24 + 16 + 6 + 16 + 6 + 16 = 92 sts.
Make All Pieces
- Baskets: 3, each using about 50 g of A and 30 g of B
- Straps: 2, each using about 12 g of A
Totals before margin: about 174 g of A and 90 g of B.
Layout, front view:
( RING )
/ \
Strap 1 Strap 2
| BASKET 1 |
| gap 1.5" |
| BASKET 2 |
| gap 1.5" |
| BASKET 3 |
Joining
Method: whipstitch with A (the strap tail or a separate length), through both long edges of the strap and into the basket wall.
Placement: on each basket, the two straps sit exactly opposite each other. Center Strap 1 over block 1 (sts 1–5) and Strap 2 over block 8 (sts 36–40). These blocks are 35 sts apart, exactly half of 70, so the straps hang straight.
Stitch-to-stitch logic: each basket section of the strap is 16 sts long, or 4 in (10.2 cm). The finished wall is 18 rnds tall (Rnds 11–28), which is also 4 in (10.2 cm). At this stage the wall stops at Rnd 26. Sew the strap to Rnds 11–26 now, and to Rnds 27–28 after the rim is done.
Pin strap st 48 at Rnd 11, and pin strap st 33 where Rnd 28 will sit. Sew 1 strap st to each wall round, except at the 5th and 11th sts of the section, where 1 strap st covers 2 rounds. This eases 16 sts evenly over 18 rounds. Repeat for Baskets 2 and 3.
Tension: pull each stitch snug enough to close the gap, but not so tight that the wall dents inward. The basket must stay round.
Ring: pass sts 1–8 of each strap through the ring from front to back. Fold them down behind the strap and sew sts 1–4 to the back of sts 9–12.
Size checkpoint: each gap measures 1.5 in (3.8 cm). All three baskets hang level, and the two top drops are equal.
Rim (Edging)
Rim gauge: same as the wall, 16 sc x 18 rnds = 4 in (10.2 cm). The 2 sc rounds add about 0.5 in (1.3 cm).
On each basket, put the A loop back on your hook. Work the rim with A only, crocheting straight across the strap tops as you pass them.
Rnd 27: Ch 1, sc in each st around, join. (70 sts: 35 on the front half + 35 on the back half)
Rnd 28: Ch 1, sc in each st around, join. (70 sts: 35 + 35)
Rnd 29: Sl st loosely in BLO of each st around. (70 sl sts: 35 + 35) Fasten off and weave in the end invisibly.
The front half runs from Strap 1 to Strap 2 (sts 1–35), and the back half runs back again (sts 36–70). Finish sewing the strap edges to Rnds 27–28.
Why the math works: the rim has no increases or decreases. It keeps the same 70 sts as the base and wall, so the opening stays 17.5 in (44.5 cm) around and the sides stay straight. Since 70 divides evenly into 14 blocks of 5 sts, the rim lines up with every block below. The two 35-st halves match the strap positions exactly.
Final Blocking
- Weave in all remaining tails inside blocks of the same color.
- Spray each basket lightly with water until damp, not soaked.
- Slide a toilet roll into each basket to hold the cylinder shape.
- Press the base flat from inside and sharpen the turning ridge.
- Nudge the block edges straight with your fingers.
- Pin the top drops of the straps flat to 1.1 in (2.8 cm) wide.
- Let everything dry fully, for at least 12 hours, before hanging.
Final Quality-Control Checklist
- Each basket has 70 sts in every round from Rnd 10 to Rnd 29.
- Each basket has 3 tiers of 14 blocks, with colors alternating in both directions.
- Each wall is 4 in (10.2 cm) tall, and each base is 5.5 in (14.0 cm) across.
- No B strands show through the A blocks.
- Both straps were 23 in (58.4 cm) long before wrapping.
- The straps sit 35 sts apart on every basket.
- The gaps between baskets are 1.5 in (3.8 cm).
- The ring wraps are secure and the holder hangs straight.
Troubleshooting
Blocks jog at the join: this is normal for joined tapestry rounds. Make each join sl st in the color of the next round’s first block, and keep every join in the same column.
Carried yarn shows through: hold the carried strand along the back of the stitch tops and tighten your yarn-overs slightly.
Wall flares outward: your tension loosened on the wall. Go down 0.5 mm in hook size for the wall rounds.
Wall pulls inward: the carried strand is too tight. Stretch the work gently before each color change.
Holder hangs crooked: check that the straps sit on sts 1–5 and 36–40, and that both ring wraps used the same 8 sts.
Base ruffles: your base increases are too loose. Use a smaller hook for Rnds 1–10.
Care
Hand wash in cool water and dry flat, with a roll inside each basket to keep its shape. Avoid tumble drying, because cotton can shrink and distort the checkerboard.

Final Notes
The measurement chain is short. A gauge of 16 sc x 18 rnds = 4 in (10.2 cm) gives a 70-st base about 5.5 in (14.0 cm) across. Those 70 sts form 14 blocks of 5. Fifteen checkerboard rounds plus the turning round and the rim give a 4 in (10.2 cm) wall. Two 92-st straps, each 23 in (58.4 cm) long, hold the three baskets 1.5 in (3.8 cm) apart below a 2.75 in (7.0 cm) wooden ring. Check each link as you go, and the finished holder will hang straight with a roll in every basket.
Happy crocheting!