This hanging holder is four round crochet baskets joined side by side into one strip. Each basket holds a standard toilet paper roll and hangs from a towel rod on its own short loop. The front of every basket has stacked shell fans and a scalloped top edge. The back wall stands a little taller, and the loop comes up from it.
The sample is a single shade of royal blue cotton, which shows the fan texture well and stands up to bathroom humidity. The look is classic and a little vintage. It suits a cream wall, brass fittings, or a towel rod over a vanity.
The pattern uses US crochet terms. Hung and filled, the strip is about 19 in (48.3 cm) wide. Each basket is about 4.75 in (12.1 cm) across, 3.5 in (8.9 cm) tall at the front, and 4.25 in (10.8 cm) tall at the back. Each loop hangs about 2.5 in (6.4 cm) above the back edge.
The construction is simple. You crochet each basket from the bottom up: a flat single crochet base, a short single crochet wall, three rounds of shells, a back band worked in rows, and a scalloped front edge. Seam the four baskets together at the sides, work a continuous border along the joined back edge, and finish with a strap at the center back of each basket.
Finished Size and Construction
- Finished size (hung): 19 in (48.3 cm) wide x 6.75 in (17.1 cm) tall, including loops
- Skill level: Easy-intermediate
- Terminology: US
- Yarn weight: Worsted (#4) cotton
- Hook: 4.5 mm (US 7)
- Number of pieces: 4 identical baskets
- Layout: 1 row of 4 baskets (1 x 4)
- Piece size: 4.75 in (12.1 cm) diameter; 15 in (38.1 cm) circumference
- Size before border: 3.75 in (9.5 cm) tall at the back and 3.5 in (8.9 cm) at the front; the back edge measures 30 in (76.2 cm) along its curves
- Border depth: 0.5 in (1.3 cm), 2 rows
Materials
Use a smooth, firm cotton or cotton blend in worsted weight. Cotton holds its shape, so the baskets don’t sag under a full roll. Avoid splitty or fuzzy yarn, because the shells need clear stitch definition.
- Royal blue: 280 g, about 475 m (approx. 100 g = 170 m)
Tools:
- 4.5 mm (US 7) crochet hook
- 6 locking stitch markers
- Tapestry needle
- Scissors
- Measuring tape
- 4 toilet paper rolls or a 4.25 in (10.8 cm) jar for shaping
- Rust-proof pins and a towel for blocking
The quantity includes a margin of about 15% for gauge differences and the gauge swatch.
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- dc – double crochet
- st(s) – stitch(es)
- sk – skip
- Rnd – round
- MR – magic ring
- RS / WS – right side / wrong side
Special stitch – Shell: 5 dc in the same stitch.
Special stitch – Scallop: 7 dc in the same stitch.
Gauge and Checkpoints
Gauge: 16 sc x 18 rnds = 4 in (10.2 cm) in sc worked in the round.
Shell gauge: 1 shell repeat (6 sts) = 1.5 in (3.8 cm) wide; 3 shell rnds = 1.5 in (3.8 cm) tall.
Make one complete basket before you start the others, and use it as your test piece. Check these measurements as you go:
- After Rnd 5 (base): about 2.5 in (6.4 cm) across.
- After Rnd 10 (base): 4.75 in (12.1 cm) across, lying flat.
- After Rnd 15 (sc wall): circumference 15 in (38.1 cm); the wall is about 1.1 in (2.8 cm) tall.
- After Rnd 19: the wall is about 2.75 in (7.0 cm) tall above the base.
- After the back band: about 3.75 in (9.5 cm) tall at the back.
If your basket is too big, try a 4 mm hook. If it’s too small, or a roll won’t fit, try a 5 mm hook. Change the hook, not the stitch counts. The shell repeat needs exactly 60 sts.

Basket (Make 4)
Work in joined rounds with the RS facing, unless the pattern says otherwise.
Base
Rnd 1: Make a MR, ch 1, 6 sc in ring, join with sl st to first sc. (6 sts)
Rnd 2: Ch 1, 2 sc in each st around, join. (12 sts)
Rnd 3: Ch 1, sc in next st, 2 sc in next st 6 times, join. (18 sts)
Rnd 4: Ch 1, sc in next 2 sts, 2 sc in next st 6 times, join. (24 sts)
Rnd 5: Ch 1, sc in next 3 sts, 2 sc in next st 6 times, join. (30 sts)
Rnd 6: Ch 1, sc in next 4 sts, 2 sc in next st 6 times, join. (36 sts)
Rnd 7: Ch 1, sc in next 5 sts, 2 sc in next st 6 times, join. (42 sts)
Rnd 8: Ch 1, sc in next 6 sts, 2 sc in next st 6 times, join. (48 sts)
Rnd 9: Ch 1, sc in next 7 sts, 2 sc in next st 6 times, join. (54 sts)
Rnd 10: Ch 1, sc in next 8 sts, 2 sc in next st 6 times, join. (60 sts)
The base should lie flat and measure 4.75 in (12.1 cm) across.
Lower Wall
Rnd 11: Ch 1, sc in the back loop only of each st around, join. (60 sts)
This back-loop round makes a crisp fold, so the wall turns straight up from the base.
Rnds 12–15: Ch 1, sc in each st around, join. (60 sts)
Shell Rounds
Rnd 16: Ch 1, sc in first st, sk 2 sts, shell in next st, sk 2 sts, sc in next st, sk 2 sts, shell in next st, sk 2 sts 9 times, join to first sc. (10 shells + 10 sc = 60 sts)
Rnd 17 (offset): Ch 3 (counts as dc), 2 dc in same sc, sc in center (3rd) dc of next shell, shell in next sc, sc in center dc of next shell 9 times, 2 dc in the first sc (next to the beginning ch-3), join to top of ch-3. (3 + 10 sc + 45 dc + 2 dc = 60 sts)
The two half shells at the start and end form one complete shell. The fans now sit between the fans of Rnd 16.
Rnd 18: Ch 1, sc in same st (center of the split shell), shell in next sc, sc in center dc of next shell 9 times, shell in next sc, join to first sc. (10 shells + 10 sc = 60 sts)
Rnd 19 (conversion): Ch 1, sc in each st around, join. (60 worked 1-per-existing st + 0 extra = 60 sts)
Checkpoint: the wall is about 2.75 in (7.0 cm) tall.
Back Band
Count from the join of Rnd 19. Sts 1–30 are the back half and sts 31–60 are the front half. Place a marker in st 1, st 30, st 31, and st 60.
Row 1 (RS): Ch 1, don’t turn, sc in sts 1–30, turn. (30 sts)
Rows 2–5: Ch 1, sc in each st across, turn. (30 sts)
Fasten off after Row 5. The back band adds about 1.1 in (2.8 cm), so the back wall is now about 3.75 in (9.5 cm) tall.
Scalloped Front Edge
Work this row into sts 31–60 of Rnd 19, with the RS facing.
Row 1: Join the yarn with a sc in st 31, sk 2 sts, scallop in next st, sk 2 sts, sc in next st 4 times, sk 2 sts, scallop in st 58, sk st 59 and st 60, sl st in st 1 (under the first stitch of the back band). Fasten off.
Count: 5 scallops x 7 dc = 35 dc, plus 5 sc and 1 anchoring sl st. That’s 5 scallops over 30 base sts. The scallops at each end reach right up to the back band, so the front edge reads as a continuous row of fans.
Weave in all ends except a 12 in (30.5 cm) tail on two of the baskets, which you’ll use for seaming.
Make All Pieces
- Royal blue baskets: 4
Layout grid (seen from the front, hanging):
[ B1 ][ B2 ][ B3 ][ B4 ]
Every basket is identical. Turn each one so the back band faces the wall and the scallops face you.
Joining
Method: Whipstitch the side seams with a tapestry needle and matching yarn.
Each basket has two side points: the line between sts 30 and 31, and the line between sts 60 and 1. Join the 30/31 side of B1 to the 60/1 side of B2, then B2 to B3, then B3 to B4.
Stitch-to-stitch logic: Hold two baskets wall to wall. Start at Rnd 11 and work upward. Whipstitch through st 30 of one basket and st 1 of the next. Make one stitch per sc round and two stitches per shell round. Then continue through the row ends of back band Rows 1–5, one stitch per row. Each seam is about 3.75 in (9.5 cm) long. Don’t seam the scallops, so they stay free.
Tension: Pull each stitch snug but not tight. The baskets should touch along the seam without puckering. If the seam ripples, take out the last few stitches and work them looser.
Size checkpoint: Lay the joined strip flat with the baskets flattened. The back edge should measure 4 x 7.5 in = 30 in (76.2 cm) along the top of the bands. With a roll in each basket, the strip should measure about 19 in (48.3 cm) across.
Border
Border gauge: 4 sc = 1 in (2.5 cm), the same as the body gauge.
The border runs along the back top edge only, across all four back bands. Each band has 30 sts, so the starting count is 4 baskets x 30 sts = 120 sts. The seams sit between bands, so you add no stitches at them.
Row 1 (RS): With the RS facing, join the yarn in the first st of B1’s back band Row 5. Ch 1, sc in each of the 30 sts across each of the 4 bands. (120 sts) Turn.
Row 2: Ch 1, sc in each st across. (120 sts) Fasten off.
Why the math works: The border uses the same gauge as the bands, and you work 1 sc into each st. So 120 sts measure 30 in (76.2 cm), the same length as the joined back edge. That’s 7.5 in (19.1 cm) per basket, half of each 15 in (38.1 cm) circumference. The edge can’t ruffle or draw in. The border adds 0.5 in (1.3 cm), which brings the back wall to 4.25 in (10.8 cm).
Hanging Loops (Make 4)
Each basket’s section of Border Row 2 has 30 sts. Number them 1–30 for each basket, and place a marker in sts 13 and 18 of each section. The 6 center sts (13–18) carry the strap.
Row 1: Join the yarn in st 13 of the basket section. Ch 1, sc in sts 13–18, turn. (6 sts)
Rows 2–24: Ch 1, sc in each st across, turn. (6 sts)
The strap is 1.5 in (3.8 cm) wide and about 5.25 in (13.3 cm) long. Fold it toward the back. Then sew the last row to the WS of the border, directly behind sts 13–18, with a 2-row overlap. The loop hangs about 2.5 in (6.4 cm) above the border and fits a rod up to 1.25 in (3.2 cm) thick.
Repeat for all four baskets and weave in all ends.
Final Blocking
- Wash the piece in cool water or spray it until it’s evenly damp.
- Roll it in a towel and press out the excess water.
- Put a toilet paper roll or a 4.25 in (10.8 cm) jar into each basket so the walls stand straight.
- Pinch each scallop into a smooth fan, and pin the tips if needed.
- Stand the strip upright with the loops pointing up so the straps and border dry straight. Make sure the back edge measures 30 in (76.2 cm) along the curves.
- Let it dry completely before you remove the forms. Cotton takes 24–48 hours.
Final Quality-Control Checklist
- Each base lies flat and measures 4.75 in (12.1 cm).
- Each body has 60 sts and 10 even shells per round.
- The three shell rounds alternate cleanly, with no slanted fans.
- Each basket has 5 scallops across the front, framed by the back band.
- The seams are about 3.75 in (9.5 cm) long, with no puckering.
- The border has 120 sts in both rows.
- The straps are centered on sts 13–18 and evenly spaced.
- The strip measures about 19 in (48.3 cm) wide when filled.
- All ends are woven in securely.
Troubleshooting
- The base cups or waves: Cupping means the base is too tight, and waving means it’s too loose. Go up or down one hook size for the base only.
- The wall flares out: Your sc rounds are too loose. Use a smaller hook from Rnd 11 on.
- The shells don’t line up: Check that each round has 60 sts. In Rnd 17, work into the center (3rd) dc of each shell.
- The scallops crowd or cup: Your dc are too tight. Make the stitches taller, or use 6 dc per scallop instead of 7.
- The roll won’t fit: Use a larger hook, or block over a slightly bigger form.
- The strip sags in the middle: Make sure all 4 straps are the same length (24 rows).
Care
Hand wash in cool water or machine wash on a gentle cycle in a laundry bag. Reshape around rolls and dry flat.

Final Notes
The measurement chain is short. A 60-st circumference at 16 sc per 4 in (10.2 cm) gives a 15 in (38.1 cm) basket that’s 4.75 in (12.1 cm) across. Half of that circumference, 30 sts, makes a 7.5 in (19.1 cm) back band. Four bands give a 120-st, 30 in (76.2 cm) border, and the filled strip hangs 19 in (48.3 cm) wide. Get your test basket right, and the other three will match.
Happy crocheting!