This hanging toilet paper holder is three small square baskets stacked one above the other. Two slim straps join them and finish in a loop over a wooden ring. Each basket holds one standard roll, and the top of the roll sits just above the rim so it’s easy to grab.
The colors are hot magenta and bright orange. The walls use a simple two-color gingham check: solid orange squares, solid magenta squares, and speckled squares where the two colors alternate. A corded magenta rim gives each basket a clean, firm top edge.
The pattern uses US crochet terms throughout. Each basket measures 5 in (12.7 cm) square and 3.75 in (9.5 cm) tall. The three baskets with 1 in (2.5 cm) gaps between them measure 13.25 in (33.7 cm) from the bottom to the top rim. With the hanging loop, the whole holder is about 18.25 in (46.4 cm) tall, not counting the ring.
Here’s how it’s made. You work a flat square base in rounds and turn it up into walls through the back loops. Then you work the gingham walls in joined rounds of tapestry single crochet and finish with a two-round rim. You make three baskets and two straps, then sew the straps up the side walls and join them over the ring.
Finished Size and Construction
- Finished size: about 5 in × 5 in × 18.25 in (12.7 cm × 12.7 cm × 46.4 cm), excluding the ring
- Skill level: Intermediate (tapestry colorwork)
- Terminology: US crochet terms
- Yarn weight: Worsted (#4), cotton or cotton blend
- Hook: 4.5 mm (US 7)
- Number of pieces: 5 (3 baskets + 2 straps)
- Layout: 1 column of 3 baskets, with 1 in (2.5 cm) gaps
- Piece size: each basket is 5 in (12.7 cm) square and 3.75 in (9.5 cm) tall
- Size before border: basket wall is 3.25 in (8.3 cm) tall after Wall Rnd 13
- Border depth: 0.5 in (1.3 cm), 2 rounds
Materials
Use a smooth worsted-weight cotton or cotton blend. Cotton holds the box shape better than soft acrylic, and the tight stitches keep the walls standing upright. The amounts below assume about 180 m per 100 g.
- Color A, magenta: 130 g (234 m)
- Color B, bright orange: 75 g (135 m)
These quantities include about a 15% margin for swatching and carried strands.
Tools:
– 4.5 mm (US 7) crochet hook
– 1 wooden ring, 2 in (5.1 cm) diameter
– 4 locking stitch markers
– Tapestry needle
– Scissors
– Measuring tape
– Spray bottle and pins for blocking
Abbreviations (US Terms)
- ch: chain
- sl st: slip stitch
- sc: single crochet
- BLO: back loop only
- rev sc: reverse single crochet (crab stitch)
- sp: space
- st(s): stitch(es)
- Rnd: round
Special stitches
Tapestry sc: Hold the unused color along the top of the stitches below and work each sc over it, so the strand is hidden inside the fabric. To change color, work the last yarn-over of the stitch before the change in the new color.
Mix 4: Work 4 sc alternating colors one stitch at a time. On the 1st and 3rd rounds of a band, work A, B, A, B. On the 2nd and 4th rounds, work B, A, B, A. This makes the speckled squares.
Rev sc: Work single crochet from left to right (right to left if you crochet left-handed). Insert the hook into the next stitch to the right, pull up a loop, then yarn over and pull through both loops.
Gauge and Checkpoints
Gauge: 16 sts and 16 rnds = 4 in (10.2 cm) in tapestry sc worked in the round. That’s 4 sts and 4 rnds per inch.
Make one complete basket before starting the others. A single basket is the most reliable gauge test you can do.
Checkpoints:
– Base Rnd 4: each side measures 2 in (5.1 cm).
– Base Rnd 6: 3 in (7.6 cm) per side.
– Base Rnd 10: 5 in (12.7 cm) per side. The base should lie flat.
– Wall Rnd 13: the wall is 3.25 in (8.3 cm) tall.
– Wall Rnd 15: the wall is 3.75 in (9.5 cm) tall.
If your basket is too big, use a 4 mm (US G-6) hook. If it’s too small, use a 5 mm (US H-8) hook. Make sure a roll fits, about 4.5 in (11.4 cm) across, before you continue.

Basket (Make 3)
Work in joined rounds and don’t turn. Start each round with ch 1, which doesn’t count as a stitch. End each round with a sl st into the first sc. Work Rnds 14–15, the rim from the Border section, on each basket before joining.
Base
Use Color A.
Rnd 1: Make a magic ring, ch 1, [sc, ch 2] 4 times into the ring, and join. (4 sc, 4 ch-2 sps; 1 sc per side)
Rnd 2: Ch 1, sc in the first sc, (sc, ch 2, sc) in the next ch-2 sp, sc in the next sc; repeat from * 2 more times, then (sc, ch 2, sc) in the last ch-2 sp and join. (12 sc; 3 per side)*
Rnds 3–10: Ch 1. Work sc in each sc, and (sc, ch 2, sc) in each ch-2 sp. Join. Each round has 8 more sc than the round before, which is 2 more per side.
- Rnd 3: 20 sc (5 per side)
- Rnd 4: 28 sc (7 per side)
- Rnd 5: 36 sc (9 per side)
- Rnd 6: 44 sc (11 per side). Fasten off A.
- Rnd 7: Use B. 52 sc (13 per side)
- Rnd 8: Use B. 60 sc (15 per side)
- Rnd 9: Use B. 68 sc (17 per side). Fasten off B.
- Rnd 10: Use A. 76 sc (19 per side), plus 4 ch-2 corner sps
The base is 5 in (12.7 cm) per side. Place a marker in each ch-2 corner sp.
Walls
Wall Rnd 1 (conversion round, A): Ch 1. Working in BLO, start in the first sc after any corner. Work sc in each sc and 1 sc in each ch-2 corner sp, and join. That gives 76 sc worked one per stitch plus 4 sc added in the corner sps = 80 sts.
In this pattern, each side is 20 sts: 19 side sc + 1 corner sc. The corner sc is counted once, on the side it ends. Move your markers up into the 4 corner sc.
Join B and carry it from here on. Carry A on rounds worked only in B.
Wall Rnds 2–5 (Band X): Ch 1, [4 B, mix 4] 10 times, and join. (80 sts)
Wall Rnds 6–9 (Band Y): Ch 1, [mix 4, 4 A] 10 times, and join. (80 sts)
Wall Rnds 10–13 (Band X): Repeat Wall Rnds 2–5. (80 sts)
Fasten off B and continue with A. Each check is 4 sts wide and 4 rounds tall, or 1 in (2.5 cm) square. The solid orange squares sit over speckled squares, and the speckled squares sit over solid magenta squares. That stacking is what makes it read as gingham.
Checkpoint: the wall is 3.25 in (8.3 cm) tall and the corners line up with your markers. Now work the rim (Rnds 14–15, below).
Straps (Make 2)
Use Color A.
Row 1: Ch 82. Sc in the 2nd ch from the hook and in each ch across, then turn. (81 sc)
Row 2: Ch 1, sc in each sc across. (81 sc) Fasten off and leave a long tail for sewing.
Each strap is 20.25 in (51.4 cm) long and 0.5 in (1.3 cm) wide. Foundation chains often tighten up, so measure the strap. If it’s short, steam it gently to length.
Strap map (stitch numbers along Row 2):
– Sts 1–15: bottom basket wall, 3.75 in (9.5 cm)
– Sts 16–19: gap, 1 in (2.5 cm)
– Sts 20–34: middle basket wall, 3.75 in (9.5 cm)
– Sts 35–38: gap, 1 in (2.5 cm)
– Sts 39–53: top basket wall, 3.75 in (9.5 cm)
– Sts 54–81: hanging tail, 7 in (17.8 cm)
Check the total: 15 + 4 + 15 + 4 + 15 + 28 = 81 sts.
Make All Pieces
Totals:
– 3 baskets. Each uses Color A for Base Rnds 1–6 and 10, Wall Rnd 1, and Rim Rnds 14–15, and Color B for Base Rnds 7–9. The gingham Wall Rnds 2–13 use both colors.
– 2 straps in Color A.
Layout (front view):
[ ring ]
/ \
strap strap
| [ TOP ] |
| gap |
| [ MIDDLE ] |
| gap |
| [ BOTTOM ] |
Put the straps on the left and right side walls, opposite each other. Turn all three baskets so the round joins face the back.
Joining
Method: Whipstitch with Color A and the tapestry needle.
Stitch-to-stitch logic: The wall is 15 rounds tall at 4 rnds per inch, and the strap section is 15 sts long at 4 sts per inch. So you sew 1 strap stitch to 1 wall round.
- Find the center of a side wall, between stitches 10 and 11 of that side.
- Lay strap sts 1–15 vertically over that center line. Line up strap st 1 with Wall Rnd 1 and st 15 with Rim Rnd 15.
- Whipstitch both long edges of the strap to the wall, one strap stitch per wall round.
- Leave sts 16–19 free for the gap. Sew sts 20–34 to the middle basket the same way. Leave sts 35–38 free, then sew sts 39–53 to the top basket.
- Repeat with the second strap on the opposite side wall.
Tension: Sew snugly but don’t pull. If you pull too hard, the wall puckers and the basket tilts. Hold each basket square with a roll inside while you sew.
Hanging loop: Bring both tails up and toward each other. Wrap the last 1.5 in (3.8 cm) of each tail around the ring toward the back. Overlap the two tail ends behind the ring and sew through both layers. The loop rises about 5 in (12.7 cm) above the top rim.
Size checkpoint: From the bottom of the bottom basket to the top rim of the top basket should measure 13.25 in (33.7 cm). Each gap should be 1 in (2.5 cm).
Border: Basket Rim
Work the rim on each basket right after Wall Rnd 13. It’s described here so all the edge math is in one place.
Border gauge: same as the body, 4 sts per inch (2.5 cm).
Rnd 14 (A): Ch 1, sc in each st, and join. (80 sts; 20 per side)
Rnd 15 (A): Ch 1, rev sc in each st, and join. (80 sts; 20 per side) Fasten off and weave in the end.
Why the math works: The rim keeps exactly 80 sts, the same as every wall round. If you added stitches the rim would flare; if you took some away it would pull in. With 20 sts per side at 0.25 in (0.6 cm) each, every side measures 5 in (12.7 cm), which matches the base. The rim adds 2 rounds, or 0.5 in (1.3 cm), so the wall goes from 3.25 in (8.3 cm) to 3.75 in (9.5 cm). Rev sc makes a firm, corded edge that holds the corners square.
Final Blocking
- Weave in all the ends inside the walls, following the carried strands.
- Spray the baskets and straps until damp but not soaked.
- Wrap a toilet roll in a thin towel so it fills each basket to 5 in (12.7 cm) square, then put one in each basket.
- Pinch the 4 corners into sharp vertical lines.
- Lay the holder flat and pin the gaps to 1 in (2.5 cm) and the straps straight.
- Let it dry completely, then take out the towels.
Final Quality-Control Checklist
- Each base lies flat and measures 5 in (12.7 cm) per side.
- Each wall has 80 sts with 20 per side and stands 3.75 in (9.5 cm) tall.
- The checks line up vertically, and no carried strands show on the outside.
- Each rim has 80 rev sc and the corners are square.
- The straps are centered on the side walls, and the gaps measure 1 in (2.5 cm).
- The baskets hang level with no tilt.
- The ring join is sewn through both layers and holds firmly.
- A roll fits each basket with its top just above the rim.
Troubleshooting
The base cups or ruffles. If it cups, use a bigger hook for the base only. If it ruffles, use a smaller one.
Carried color shows through. Keep the carried strand on top of the stitches below and tighten your tension a little.
The checks slant. You probably have a stitch too many or too few in a round. Count 80 at the end of every round.
The walls lean outward. Your gauge is loose. Go down a hook size.
The baskets tilt. The straps are off-center. Move them back to the line between stitches 10 and 11 of the side.
The strap is too short. Steam it to length, or add rows to the tail.
Care
Hand wash cool, reshape around a roll, and lay flat to dry. Don’t tumble dry, because heat can loosen the box shape.

Final Notes
Here’s how the measurements connect. A gauge of 4 sts and 4 rnds per inch gives a 76-st base at 5 in (12.7 cm) per side. The conversion round makes that 80 wall sts (20 per side), and 13 gingham rounds plus 2 rim rounds give a 3.75 in (9.5 cm) wall. Each strap section of 15 sts matches the 15 wall rounds, and three baskets with two gaps measure 13.25 in (33.7 cm). If your checkpoints match at each stage, the holder will hang straight and square.
Happy crocheting!