This hanging toilet paper holder brings a calm beach-cottage look to a small bathroom. Three round baskets hang in a neat column, each holding one standard roll, and the whole piece hangs from a wooden ring on a hook or towel bar.
The colors are soft aqua and cream. Each basket has a cream base and lower band, an aqua upper body, and a raised crab-stitch rim. A cream starfish sits on the front, with cream coral sprigs on each side and small pearl-like dots in the aqua.
This pattern uses US crochet terms. Each basket measures 5¼ in (13.3 cm) across and 3½ in (8.9 cm) tall. The assembled holder is about 17¾ in (45.1 cm) from the bottom basket to the fold of the hanging tab, plus the ring.
Construction is simple. You crochet three baskets in continuous rounds from the base up. Then you make two flat straps and a tapered hanging tab, sew the baskets to the straps, and finish with a crab-stitch rim on each basket and a slip-stitch edge on the tab. The starfish and coral details go on last.
Finished Size and Construction
- Finished size: about 17¾ in (45.1 cm) long without the ring; 5¼ in (13.3 cm) wide
- Skill level: Easy–Intermediate
- Terminology: US
- Yarn weight: Worsted (#4) cotton
- Hook: 5.0 mm (H-8)
- Number of pieces: 3 baskets, 2 straps, 1 hanging tab, 3 starfish
- Layout: 1 column × 3 baskets, with 1¾ in (4.4 cm) gaps
- Piece size: each basket 5¼ in (13.3 cm) across × 3½ in (8.9 cm) tall
- Size before border: basket walls 3¼ in (8.3 cm) tall
- Border depth: crab-stitch rim adds about ¼ in (0.6 cm)
Materials
Use a worsted-weight 100% cotton. Cotton is firm, holds its shape, and copes with bathroom humidity. Avoid acrylic blends that stretch, because the baskets need to stay upright.
- Aqua: 80 g / about 130 yd (119 m)
- Cream: 90 g / about 150 yd (137 m)
The quantities include a margin of about 25% for swatching and weaving in ends.
Tools:
– 5.0 mm (H-8) crochet hook
– 3 in (7.6 cm) wooden ring
– Tapestry needle
– 6 stitch markers
– Scissors and tape measure
– Pins for placing the appliqués
– Optional: 12 cream 5 mm pearl beads and sewing thread, instead of French knots
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- hdc – half double crochet
- dc – double crochet
- sc2tog – single crochet 2 together
- BLO – back loop only
- st(s) – stitch(es)
- rnd – round
- inc – 2 sc in the same st
Crab stitch (reverse sc): Work from left to right (right-handers). Insert the hook into the next st to the right, yarn over, and pull up a loop. Yarn over and draw through both loops. This makes a twisted, rope-like edge.
Surface slip stitch: With the yarn held behind the work, insert the hook from front to back between stitches, pull up a loop, then insert one stitch farther along and pull a new loop through both the fabric and the loop on your hook.
Gauge and Checkpoints
Gauge: 14 sc × 15 rnds = 4 in (10.2 cm) in sc worked in the round.
Make one complete basket before you start the others. It is your real gauge test, and you can check that a roll fits.
Checkpoints:
– After Rnd 5 (30 sts): base is about 2⅝ in (6.7 cm) across.
– After Rnd 10 (60 sts): base is 5¼ in (13.3 cm) across and lies flat.
– After Rnd 16: the cream band is about 1⅝ in (4.1 cm) tall.
– After Rnd 22: the walls are 3¼ in (8.3 cm) tall.
– A 4½ in (11.4 cm) roll should slide in easily, with about ⅜ in (1.0 cm) of space all around.
If the basket is too big: go down to a 4.5 mm hook. Loose baskets slump.
If it’s too small: go up to a 5.5 mm hook. Otherwise the roll will be squeezed.

Basket (make 3)
Work in continuous rounds without joining. Move a marker up to the first st of each round.
Base
With cream, make a magic ring.
- Rnd 1: 6 sc in the ring. (6)
- Rnd 2: inc in each st. (12)
- Rnd 3: sc 1, inc 6 times. (18)
- Rnd 4: sc 2, inc 6 times. (24)
- Rnd 5: sc 3, inc 6 times. (30)
- Rnd 6: sc 4, inc 6 times. (36)
- Rnd 7: sc 5, inc 6 times. (42)
- Rnd 8: sc 6, inc 6 times. (48)
- Rnd 9: sc 7, inc 6 times. (54)
- Rnd 10: sc 8, inc 6 times. (60)
The base measures 5¼ in (13.3 cm) across. Stagger the increases if your circle starts to look like a hexagon.
Sides
- Rnd 11 (turning round): sc in BLO of each st. (60) This gives a crisp edge between base and walls.
- Rnds 12–16: sc in each st. (60)
Join aqua with the last yarn-over of Rnd 16. Cut cream, leaving a tail to weave in.
- Rnds 17–22: with aqua, sc in each st. (60)
The walls now measure 3¼ in (8.3 cm). Sl st in the next st and fasten off with a 6 in (15.2 cm) tail. Leave the rim unfinished for now. You’ll work the border after joining.
Mark the back center of the basket where the rounds begin and end, between st 60 and st 1. The front center is between sts 30 and 31.
Starfish (make 3)
With cream, make a magic ring.
- Rnd 1: 5 sc in the ring. (5)
- Rnd 2: inc in each st. (10)
- Rnd 3 (arms): ch 5, sl st in 2nd ch from hook, sc in next ch, hdc in next ch, dc in next ch, skip next st of Rnd 2, sl st in next st 5 times. (5 arms)
Each arm tapers from dc to sl st, so the points come out sharp. The starfish measures about 2 in (5.1 cm) from tip to tip. Fasten off with a 12 in (30.5 cm) tail.
Straps (make 2)
With aqua, ch 50.
- Row 1: sc in 2nd ch from hook and in each ch across, turn. (49)
- Rows 2–3: ch 1, sc in each st across, turn. (49)
Each strap measures 14 in (35.6 cm) long and about 0.8 in (2.0 cm) wide. Fasten off with a long tail.
Starting at one short end, place markers at 3½ in (8.9 cm), 5¼ in (13.3 cm), 8¾ in (22.2 cm), and 10½ in (26.7 cm). These split the strap into:
- top basket: 3½ in (8.9 cm)
- gap: 1¾ in (4.4 cm)
- middle basket: 3½ in (8.9 cm)
- gap: 1¾ in (4.4 cm)
- bottom basket: 3½ in (8.9 cm)
Hanging Tab
With aqua, ch 15.
- Row 1: sc in 2nd ch from hook and in each ch across, turn. (14)
- Rows 2–3: ch 1, sc across, turn. (14)
- Row 4: ch 1, sc2tog, sc 10, sc2tog, turn. (12)
- Row 5: ch 1, sc across, turn. (12)
- Row 6: ch 1, sc2tog, sc 8, sc2tog, turn. (10)
- Row 7: ch 1, sc across, turn. (10)
- Row 8: ch 1, sc2tog, sc 6, sc2tog, turn. (8)
- Row 9: ch 1, sc across, turn. (8)
- Row 10: ch 1, sc2tog, sc 4, sc2tog, turn. (6)
- Rows 11–22: ch 1, sc across, turn. (6)
The tab starts at 4 in (10.2 cm) wide. It narrows over about 2¾ in (7.0 cm) into a strip about 1¾ in (4.4 cm) wide and 3¼ in (8.3 cm) long. Fasten off with a long tail.
Make All Pieces
| Piece | Qty | Color |
|---|---|---|
| Basket | 3 | Cream base + Rnds 11–16, aqua Rnds 17–22 |
| Starfish | 3 | Cream |
| Strap | 2 | Aqua |
| Hanging tab | 1 | Aqua |
Layout grid (1 column × 3):
[ RING ]
[ TAB ]
|[ BASKET 1 ]|
| gap |
|[ BASKET 2 ]|
| gap |
|[ BASKET 3 ]|
strap strap
Joining
Mark the strap zone. On each basket’s back, count 7 sts to the left and 7 sts to the right of the back center. That gives 14 rim stitches (sts 54–60 and 1–7), which span 4 in (10.2 cm) and match the tab’s width. Each strap covers the outer 3 sts of this zone: sts 54–56 on one side and sts 5–7 on the other. Three sts measure about 0.86 in, close to the strap’s 0.8 in (2.0 cm) width.
Sew the straps. Pin the top end of each strap just below the top loops of Rnd 22 on Basket 1, over its strap columns. Run the strap straight down the wall to the first marker at the base edge, then sew both long edges with whipstitch. Use 1 whipstitch per sc row of the basket and 1 per strap st, catching only the back loops of the basket.
Leave the 1¾ in (4.4 cm) gap free. Sew Basket 2 between the second and third markers, then Basket 3 from the fourth marker to the strap’s end, so the strap ends at the bottom basket’s base edge.
Tension. Sew firmly but don’t pull. The strap should lie flat against the basket wall without puckering it. Keep the two straps parallel. Measure the gap between straps at each basket. It should be the same 2⅜ in (6.0 cm) between their inner edges every time.
Attach the tab. Lay tab Rows 1–2 over the back of Basket 1 just below the rim, covering the strap tops. Whipstitch all four edges of that overlap. Thread the strip through the wooden ring. Fold Rows 17–22 to the back over Rows 11–16, then sew around three sides.
Size checkpoint: the holder should hang about 17¾ in (45.1 cm) from the bottom of Basket 3 to the tab fold. Visible tab above the rim should measure about 3¾ in (9.5 cm).
Border
Border gauge: crab stitch is worked 1 per st, at the same 14 sts = 4 in (10.2 cm) as the walls.
Part A: Basket rims (each basket)
Join aqua in any front st of Rnd 22.
- Rnd 23: ch 1, crab stitch in each st around, then sl st to the first st. (60)
That’s 30 sts across the front half and 30 across the back half. On the back, 3 of those sts sit over each strap and 8 sit between the straps.
Why the math works: the rim keeps 60 sts, the same count as the base and every wall round, so the circumference stays 17.1 in (43.4 cm). The walls stay straight, with no flare or pull-in. Crab stitch twists each st and adds about ¼ in (0.6 cm) of height, bringing each basket to 3½ in (8.9 cm).
Part B: Tab edging
With aqua, join at Row 1 on one long edge of the tab.
- Edging: sl st in each row end up to the fold. That’s 16 sl sts per side, over Rows 1–16.
One sl st per sc row matches the row height, so the edges stay flat. Repeat on the other side.
Surface Details
Starfish: pin one starfish centered over the front-center line of each basket. Place the two lower arm tips on Rnd 16 (the last cream round) and the top arm near Rnd 21. Whipstitch around the edges with the tail.
Coral sprigs (4 per basket): with cream, work surface slip stitch.
- Start each stem in Rnd 15 and work straight up to Rnd 20, 6 sts tall, about 1½ in (3.8 cm).
- Add a 1-st diagonal branch to the left at Rnd 17 and to the right at Rnd 18.
- At the top of the stem, add one more 1-st branch to each side.
Place two sprigs 4 sts to either side of the starfish’s outer arm tips. Place the other two at the sides of the basket, about 15 sts from front center.
Dots (4 per basket): in the aqua area, between the sprigs and the rim, make cream French knots with 3 wraps. You can sew 5 mm pearl beads on instead.
Final Blocking
- Weave in all ends inside the baskets, following stitches of the same color.
- Lightly mist the whole holder with water. Cotton tolerates steam well, so you can also hover a steam iron over it without touching.
- Put a toilet roll, or a rolled towel 4½ in (11.4 cm) wide, inside each basket to shape the walls.
- Lay the holder flat, rolls in place, with the straps straight and the gaps at 1¾ in (4.4 cm).
- Pin the tab flat and smooth the starfish arms into points.
- Leave it to dry completely, for at least 12 hours.
Final Quality-Control Checklist
- [ ] Each basket base measures 5¼ in (13.3 cm) and sits flat.
- [ ] Each basket is 3½ in (8.9 cm) tall, including the rim.
- [ ] Each rim has 60 crab stitches with no gaps or ruffles.
- [ ] The straps are parallel, and both gaps are 1¾ in (4.4 cm).
- [ ] The starfish are centered and level across all three baskets.
- [ ] The coral sprigs start in Rnd 15 on every basket.
- [ ] The tab is sewn securely around the ring and the stitching is hidden at the back.
- [ ] The total length is about 17¾ in (45.1 cm).
- [ ] All ends are woven in and none show on the outside.
Troubleshooting
- The base cups upward: your tension is tight. Go up a hook size for the base only, or add 1 extra sc in each round’s last repeat, then decrease the extras back out by Rnd 10.
- The base ruffles: your tension is loose. Go down a hook size.
- The basket leans forward when it holds a roll: the straps are too short or sewn too low. Sew them right up to the rim.
- The crab-stitch rim flares: loosen up. Crab stitch worked too tightly or too loosely distorts the edge, so try a hook one size smaller for that round only.
- The starfish arms curl: pin them flat and steam, or sew down each arm tip with a single tack stitch.
- Gaps don’t match: unpick and resew to the strap markers. Measure from the strap’s top end, not between baskets.
Care
Hand-wash cold and lay flat to dry, reshaping each basket around a roll. Avoid the dryer, because cotton can shrink and the baskets would lose their shape.

Final Notes
Here’s how the measurements build on each other:
- The gauge of 14 sc × 15 rnds = 4 in (10.2 cm) gives a 60-st base 5¼ in (13.3 cm) across.
- Twelve wall rounds add 3¼ in (8.3 cm), and the 60-st crab rim brings each basket to 3½ in (8.9 cm).
- Three baskets plus two 1¾ in (4.4 cm) gaps exactly fill each 14 in (35.6 cm) strap.
- The tab adds 3¾ in (9.5 cm) above the rim, for a total of about 17¾ in (45.1 cm).
Check each of those numbers as you go and the finished holder will hang straight and hold its shape.
Happy crocheting!