This hanging toilet paper holder has three round baskets stacked one above another. Two crocheted straps run down the sides and loop over a natural wooden ring at the top. Each basket has a solid cream base, a few plain cream rounds, a bold black-and-cream checkerboard band three checks tall, and a rounded cream rim.
The colors are warm cream and true black, so the holder suits a modern farmhouse or minimalist bathroom. Tapestry single crochet makes the walls firm, which means each basket keeps its shape when it holds a full roll.
The pattern uses US crochet terms. Each basket measures 5 in (12.7 cm) across and 4 in (10.2 cm) tall. Hung from a 3 in (7.6 cm) ring, the whole holder is about 21 in (53.3 cm) long.
You’ll work each basket from the bottom up: a flat base worked in rounds, then a back-loop round that turns the work up into the wall, then the colorwork. The two straps are flat strips. You’ll sew them to the outside of all three baskets, then fold them over the ring.
Finished Size and Construction
- Finished size: about 21 in (53.3 cm) from the top of the ring to the bottom of the lowest basket
- Skill level: Intermediate (tapestry color changes)
- Terminology: US crochet terms
- Yarn weight: Worsted weight (#4) cotton
- Hook: 4.0 mm (US G-6)
- Number of pieces: 5 crocheted pieces (3 baskets, 2 straps) plus 1 wooden ring
- Layout: 3 baskets stacked vertically, 1.6 in (4.1 cm) apart, with a strap on each side
- Piece size: basket 5 in (12.7 cm) diameter × 4 in (10.2 cm) tall; strap 0.9 in (2.3 cm) wide × 21.6 in (54.9 cm) long
- Basket wall height before border: 3.6 in (9.1 cm)
- Border depth: 0.4 in (1.0 cm) on the basket rim; 1 slip-stitch row on the strap edges
Materials
Pick a smooth, mercerized or combed worsted-weight cotton. Cotton holds its shape, handles bathroom humidity, and shows clean stitch definition in the checks. Steer clear of fuzzy or very soft acrylics, because the baskets will sag.
- Cream (main color, MC): 180 g / about 280 m (306 yd)
- Black (contrast color, CC): 50 g / about 80 m (87 yd)
These quantities already include about a 15% margin for the carried strand, a gauge swatch, and sewing.
Tools:
- 4.0 mm (US G-6) crochet hook
- 1 wooden ring, 3 in (7.6 cm) outer diameter
- 4 locking stitch markers
- Tapestry needle
- Scissors
- Pins or clips for joining
- Measuring tape
Abbreviations (US Terms)
- ch – chain
- sc – single crochet
- inc – 2 sc in the same stitch
- sl st – slip stitch
- BLO – back loop only
- rev sc – reverse single crochet (crab stitch)
- st(s) – stitch(es)
- MC / CC – main color (cream) / contrast color (black)
Tapestry sc (special technique): Hold the unused color along the top of the round you are working into, and work each sc over it so the strand is hidden inside the stitch. To change color, work the last sc of the old color until 2 loops remain on the hook. Then yarn over with the new color and pull through both loops. The new color is now on the hook for the next stitch.
Reverse sc: Working from left to right (right to left if you are left-handed), insert the hook into the next stitch to the right, pull up a loop, yarn over, and pull through both loops.
Gauge and Checkpoints
Gauge: 18 sts and 20 rounds = 4 in (10.2 cm) in tapestry sc, worked in joined rounds.
That works out to 4.5 sts and 5 rounds per inch. Rounds and rows have the same height, so 1 strap row lines up with 1 basket round. Joining depends on this match.
Test one piece first. Make one complete basket before you start the others. It is your swatch.
Checkpoints:
- After Rnd 6 (36 sts): the base measures about 2.4 in (6.1 cm) across.
- After Rnd 12 (72 sts): the base is flat and about 5 in (12.7 cm) across.
- After Rnd 16: the wall is 0.8 in (2.0 cm) tall, measured from the turning ridge.
- After Rnd 28: the checkerboard band is 2.4 in (6.1 cm) tall, and each check is about 0.9 in (2.3 cm) wide by 0.8 in (2.0 cm) tall.
- After Rnd 30: the wall is 3.6 in (9.1 cm) tall.
- After Rnd 32: the wall is 4 in (10.2 cm) tall, with a circumference of 16 in (40.6 cm).
If your basket is too big, go down 0.5 mm in hook size. If it is too small, or a roll 4.5 in (11.4 cm) across won’t slide in easily, go up 0.5 mm. Don’t add or remove stitches. The checkerboard needs exactly 72 sts.

Basket (make 3)
Work in joined rounds. Start each round with ch 1, which does not count as a stitch, and end it with a sl st to the first sc. Keep the joins stacked in one column. That column becomes the back of the basket.
Base
With MC, make a magic ring.
Rnd 1: Ch 1, 6 sc in ring, sl st to first sc. (6 sts)
Rnd 2: Ch 1, inc in each st around. (12 sts)
Rnd 3: Ch 1, [sc 1, inc] 6 times. (18 sts)
Rnd 4: Ch 1, [sc 2, inc] 6 times. (24 sts)
Rnd 5: Ch 1, [sc 3, inc] 6 times. (30 sts)
Rnd 6: Ch 1, [sc 4, inc] 6 times. (36 sts)
Rnd 7: Ch 1, [sc 5, inc] 6 times. (42 sts)
Rnd 8: Ch 1, [sc 6, inc] 6 times. (48 sts)
Rnd 9: Ch 1, [sc 7, inc] 6 times. (54 sts)
Rnd 10: Ch 1, [sc 8, inc] 6 times. (60 sts)
Rnd 11: Ch 1, [sc 9, inc] 6 times. (66 sts)
Rnd 12: Ch 1, [sc 10, inc] 6 times. (72 sts)
Check that the base lies flat and measures about 5 in (12.7 cm).
Wall
Rnd 13 (turning round): Ch 1, sc in BLO of each st around. (72 sts: 72 worked 1-per-stitch + 0 added)
The unworked front loops make a crisp ridge, and the work starts to rise into a wall.
Rnds 14–16: Ch 1, sc in each st around. (72 sts)
Join CC at the start of Rnd 17. Leave a 4 in (10.2 cm) tail and carry it inside the first few stitches.
Rnds 17–20 (check row 1): Ch 1, [4 sc CC, 4 sc MC] 9 times. (72 sts: 36 CC, 36 MC)
Rnds 21–24 (check row 2): Ch 1, [4 sc MC, 4 sc CC] 9 times. (72 sts: 36 MC, 36 CC)
Rnds 25–28 (check row 3): Ch 1, [4 sc CC, 4 sc MC] 9 times. (72 sts: 36 CC, 36 MC)
Each block of 4 stitches stays directly above the same block in the round below. That’s how you get square checks. Every 4 rounds, the colors swap, so the black blocks alternate like a checkerboard. The band has 18 checks around, 9 black and 9 cream, so the pattern lines up perfectly at the join.
At the end of Rnd 28, cut CC and carry its tail through the first 6 sts of Rnd 29.
Rnds 29–30: With MC only, ch 1, sc in each st around. (72 sts)
The wall now measures 3.6 in (9.1 cm) from the turning ridge. Continue to the Border section.
Strap (make 2)
With MC, ch 5.
Row 1: Sc in 2nd ch from hook and in each ch across. (4 sts)
Rows 2–108: Ch 1, turn, sc in each st across. (4 sts)
Fasten off and leave a 30 in (76.2 cm) tail for sewing. The strap measures 0.9 in (2.3 cm) wide and 21.6 in (54.9 cm) long.
Use stitch markers to divide each strap into sections:
- Rows 1–4: tab, 0.8 in (2.0 cm)
- Rows 5–14: ring wrap, 2 in (5.1 cm)
- Rows 15–32: hanging drop, 3.6 in (9.1 cm)
- Rows 33–52: top basket, 20 rows
- Rows 53–60: gap, 1.6 in (4.1 cm)
- Rows 61–80: middle basket, 20 rows
- Rows 81–88: gap, 1.6 in (4.1 cm)
- Rows 89–108: bottom basket, 20 rows
Check: 4 + 10 + 18 + 20 + 8 + 20 + 8 + 20 = 108 rows.
Make All Pieces
- Baskets: 3. Each uses about 50 g MC and 16 g CC.
- Straps: 2. Each uses about 12 g MC.
Layout, seen from the front:
( RING )
/ \
Strap A Strap B
| [ BASKET 1 ] | rows 33–52
| gap 1.6 in | rows 53–60
| [ BASKET 2 ] | rows 61–80
| gap 1.6 in | rows 81–88
| [ BASKET 3 ] | rows 89–108
Finish the border on all three baskets and both straps before you join anything.
Border
The border uses the same gauge as the body: 4.5 sts per inch around the rim, and 1 sl st per row end along the straps.
Basket rim (each basket)
Rnd 31: With MC, ch 1, sc in each st around, sl st to first sc. (72 sts)
Rnd 32: Ch 1, rev sc in each st around, sl st to first rev sc. (72 sts)
Fasten off and weave in the ends. The rim has 72 sts all the way around and 0 added. The circumference stays at 16 in (40.6 cm), so the rim rolls neatly over without flaring or pulling in. The two border rounds add 0.4 in (1.0 cm), which brings the wall to 4 in (10.2 cm) and 20 rounds (Rnds 13–32).
Strap edging (each strap)
Join MC at one corner of the strap. Sl st loosely around the edge:
- Long side 1: 108 sl st, 1 per row end
- Short end 1: 4 sl st, 1 per stitch
- Long side 2: 108 sl st, 1 per row end
- Short end 2: 4 sl st, 1 per stitch
Total: 108 + 4 + 108 + 4 = 224 sl st. The corner stitches are already counted in these numbers, so don’t add extras. Working 1 sl st per row and per stitch keeps the strap exactly 21.6 in (54.9 cm) long. The edges stay straight and don’t ruffle.
Joining
Method: Whipstitch with MC through the strap’s sl st edge and the basket’s wall stitches.
Positioning: Number the 72 wall stitches with the join column as st 1. Strap A covers wall sts 16–19 and Strap B covers sts 52–55. The two straps sit 36 sts apart, which puts them exactly opposite each other. The join column stays at the center back.
Stitch-to-stitch logic: Each basket wall has 20 rounds (Rnds 13–32), and each basket section of the strap has 20 rows. Sew 1 strap row to 1 wall round:
- Lay the bottom basket on its side. Pin strap Row 108 level with the turning ridge (Rnd 13), and Row 89 level with the top of the rim (Rnd 32).
- Whipstitch down both long edges of the strap. Take 1 stitch into each row end and the matching wall round, for 20 stitches per edge.
- Repeat for Strap B on the opposite side.
- Attach the middle basket to Rows 61–80 and the top basket to Rows 33–52 in the same way.
- Leave the gap rows (53–60 and 81–88) and the drop rows (15–32) free.
- Bring both straps up. Wrap Rows 5–14 over the wooden ring toward the back, then whipstitch the tab (Rows 1–4) flat against the back of Rows 15–18.
Tension: Pull each stitch until it is snug but doesn’t dimple the wall. If the wall puckers, loosen up. If the strap shifts, tighten.
Size checkpoint: Hang the holder. Each gap should be 1.6 in (4.1 cm), each basket 4 in (10.2 cm) tall, and the full length about 21 in (53.3 cm).
Final Blocking
- Lightly mist each basket with water.
- Stuff each one with a toilet roll or a rolled towel about 4.5 in (11.4 cm) across.
- Shape the rim into a smooth circle and press the base flat.
- Lay the straps flat and pin them straight, keeping their width at 0.9 in (2.3 cm).
- Let everything dry completely, ideally for 24 hours.
- Remove the forms and check the measurements again.
Final Quality-Control Checklist
- [ ] Each basket has 72 sts on every wall round
- [ ] The checkerboard is 3 checks tall, with 9 black checks per round
- [ ] The base is flat and 5 in (12.7 cm) across
- [ ] The wall is 4 in (10.2 cm) tall, including the rim
- [ ] Each strap is 108 rows long with 224 sl st of edging
- [ ] The straps sit opposite each other, with the join column at the back
- [ ] Both gaps are 1.6 in (4.1 cm)
- [ ] The ring tabs are secure, and all ends are woven in
Troubleshooting
Black shows through the cream stitches. Keep the carried strand at the back of the stitch, and tug it gently every few stitches.
The checks slant to one side. That’s normal with sc in rounds. Working through both loops in joined rounds keeps the lean small. Blocking straightens most of what’s left.
The base cups or ruffles. Cupping means your tension is too tight, so use a larger hook. Ruffling means it’s too loose, so use a smaller hook. Recheck the 72-st count.
The wall flares outward. Check that every wall round has exactly 72 sts and that Rnd 13 was worked in the BLO.
The baskets tilt. The straps aren’t directly opposite each other. Re-pin them at sts 16–19 and 52–55.
The roll doesn’t fit. Your gauge is too tight. Remake the basket with a hook 0.5 mm larger.
Care
Hand wash in cool water with mild soap and lay flat to dry. Reshape the baskets over a roll while they are damp.

Final Notes
The measurement chain is short. You need 18 sts and 20 rounds to 4 in (10.2 cm). That gives a 72-st base 5 in (12.7 cm) across and a 20-round wall 4 in (10.2 cm) tall: 3.6 in (9.1 cm) of body plus 0.4 in (1.0 cm) of rim. Each 108-row strap holds three 20-row basket sections, two 8-row gaps, and a ring loop. The finished holder is about 21 in (53.3 cm) long. Get the first basket right and the rest follow.
Happy crocheting!