This holder has three small round baskets stacked one above the other on two lavender straps. Each basket holds one standard roll. The holder hangs from a single wall peg or hook, so spare rolls stay off the floor and within reach.
The colors are soft lavender, deep plum, and sage green. Each basket wall has a plum puff band edged with sage spike stitches, a row of lavender tulip puffs, and a plum shell-scallop rim. The style is cottage-garden: textured and cheerful, but still tidy.
This pattern uses US crochet terms. Each basket is 5.5 in (14.0 cm) across and 2.75 in (7.0 cm) tall. The hung holder is about 19 in (48.3 cm) long from the bottom basket to the top of the loop.
Construction overview: You work each basket base in joined double-crochet rounds. Next, you turn up the wall with a back-loop round and work the colorwork rounds. The shell rim finishes the top. The two straps are worked flat in rows and then sewn to the outside of the baskets. The strap ends are joined at the top to form the hanging loop.
Finished Size and Construction
- Finished size: about 19 in (48.3 cm) long hung; 5.5 in (14.0 cm) wide
- Skill level: Intermediate (puffs, spike stitches, color changes)
- Terminology: US
- Yarn weight: #4 heavy worsted / aran cotton
- Hook: 5.0 mm (H-8)
- Number of pieces: 5 (3 baskets, 2 straps)
- Layout: 3 baskets stacked vertically, with 2.5 in (6.4 cm) gaps
- Piece size: each basket 5.5 in (14.0 cm) across × 2.75 in (7.0 cm) tall; each strap 20 in (50.8 cm) × 0.5 in (1.3 cm)
- Size before border: basket wall 2 in (5.1 cm) tall
- Border depth: shell rim adds 0.75 in (1.9 cm)
Materials
Use a firm cotton or cotton blend so the baskets hold their shape. Soft acrylic will work, but the walls will slouch more. Use the same yarn for all three colors so the gauge stays even.
- Lavender (main color): 110 g, about 187 m
- Plum: 35 g, about 60 m
- Sage green: 25 g, about 43 m
These quantities include a margin of about 25%, so you can swatch and frog without running short.
Tools:
– 5.0 mm (H-8) crochet hook
– 4–6 locking stitch markers
– Tapestry needle
– Scissors
– Measuring tape
– A wall peg or sturdy hook for hanging
Abbreviations (US Terms)
- ch: chain
- sl st: slip stitch
- sc: single crochet
- dc: double crochet
- BLO: back loop only
- st(s): stitch(es)
- sk: skip
- rnd: round
Puff stitch (puff): (Yarn over, insert hook in the stitch, pull up a loop to about 0.5 in) 3 times. Yarn over and pull through all 7 loops on the hook, then ch 1 to close. The closing ch 1 is not counted as a stitch.
Long single crochet (long sc): Insert the hook into the stitch 2 rounds below the next stitch. Pull up a loop to the height of the current round, yarn over, and pull through both loops. Skip the stitch behind the long sc.
Shell: 5 dc in the same stitch.
Gauge and Checkpoints
Gauge: 14 sc and 16 rnds = 4 in (10.2 cm) in sc worked in the round.
Make one complete basket before you start the others. It is your gauge swatch, so check these measurements as you go:
- Base Rnd 1: 1.1 in (2.8 cm) across
- Base Rnd 2: 2.2 in (5.6 cm)
- Base Rnd 3: 3.3 in (8.4 cm)
- Base Rnd 4: 4.4 in (11.2 cm)
- Base Rnd 5: 5.5 in (14.0 cm)
- After Wall Rnd 7: wall 2 in (5.1 cm) tall; the circumference of 60 sts measures 17.1 in (43.4 cm)
- After the shell rim: wall 2.75 in (7.0 cm) tall
If your base is larger than 5.75 in (14.6 cm), go down half a hook size. If it is smaller than 5.25 in (13.3 cm), go up half a size. A standard roll is about 4.5 in (11.4 cm) across, so the 5.5 in (14.0 cm) base leaves about 1 in (2.5 cm) of ease. Keep that ease so the rolls drop in easily.

Basket Base (make 3)
Work in lavender. Join each round with a sl st to the top of the first stitch. A starting ch 3 counts as a dc. Don’t turn.
Rnd 1: Make a magic ring. Ch 3, then work 11 dc in the ring. Pull the ring snug, but leave a hole about 0.25 in (0.6 cm) across, then join. (12 dc)
Rnd 2: Ch 3. Dc in the same st, then work 2 dc in each st around and join. (24 dc)
Rnd 3: Ch 3, 2 dc in the next st. Dc in the next st, 2 dc in the next st; repeat from * around and join. (36 dc)*
Rnd 4: Ch 3, dc in the next st, 2 dc in the next st. Dc in the next 2 sts, 2 dc in the next st; repeat from * around and join. (48 dc)*
Rnd 5: Ch 3, dc in the next 2 sts, 2 dc in the next st. Dc in the next 3 sts, 2 dc in the next st; repeat from * around and join. (60 dc)*
The base now measures 5.5 in (14.0 cm). It should lie flat, with no cupping or ruffling.
Basket Wall
From here on, start each round with a ch 1 that does not count as a stitch. Make your first stitch in the same st as the join, then join with a sl st to the first stitch.
To change color, complete the joining sl st with the new color. Cut the old yarn and leave a 4 in (10.2 cm) tail to weave in.
The wall is built on a 4-stitch repeat. Positions 1–4 repeat 15 times around (60 ÷ 4 = 15), so the puffs, spikes, tulips, and shells all line up in vertical columns.
Wall Rnd 1 (lavender): Working in BLO, sc in each st around. (60 sc) The unused front loops form a ridge at the edge of the base, and the work turns upward.
Wall Rnd 2 (lavender): Sc in each st around. (60 sc) Change to plum.
Wall Rnd 3 (plum, puff round): Sc in the next 2 sts, puff in the next st, sc in the next st; repeat from * around. (60 sts: 15 puffs + 45 sc)* Change to sage.
Wall Rnd 4 (sage, spike round): Sc in the next st, long sc into Wall Rnd 2 below the next st, sc in the next st (the top of the puff), long sc into Wall Rnd 2 below the next st; repeat from * around. (60 sts: 30 sc + 30 long sc)*
Each puff is now framed by a sage spike on each side, which forms the green V.
Wall Rnd 5 (sage): Sc in each st around. (60 sc) Change to lavender.
Wall Rnd 6 (lavender, tulip round): Sc in the next 2 sts, puff in the next st, sc in the next st; repeat from * around. (60 sts: 15 puffs + 45 sc)* Each tulip puff sits directly above a plum puff.
Wall Rnd 7 (lavender): Sc in each st around, working each sc into the top of the puff, not into the closing ch. (60 sc) Change to plum.
Checkpoint: The wall is 2 in (5.1 cm) tall and stands straight. If it flares, your sc tension is looser than your base tension. If it leans in, it is tighter.
Straps (make 2)
Work both straps in lavender.
Row 1: Ch 71. Sc in the back bump of the 2nd ch from the hook and in the back bump of each ch across. (70 sc)
Row 2: Ch 1 and turn. Loosely sl st in the BLO of each st across. (70 sl st) Fasten off and leave a 24 in (61.0 cm) tail for sewing.
The BLO slip stitches create the braided ridge along the top of the strap.
Checkpoint: Each strap measures 20 in (50.8 cm) × 0.5 in (1.3 cm), which matches the gauge of 3.5 sc per inch: 70 ÷ 3.5 = 20. If your slip stitches have shortened the strap, rework Row 2 with a looser hand or a hook half a size larger. Don’t add stitches to fix the length.
Make All Pieces
- Baskets: 3, each using lavender (base, Wall Rnds 1–2 and 6–7), plum (Wall Rnd 3 and the rim), and sage (Wall Rnds 4–5)
- Straps: 2, lavender only
Here is the vertical layout, read from top to bottom:
/\ hanging loop (strap ends joined)
/ \ 6.75 in (17.1 cm) free strap per side
|[Basket 1]| 2.75 in (7.0 cm)
| | gap 2.5 in (6.4 cm)
|[Basket 2]| 2.75 in (7.0 cm)
| | gap 2.5 in (6.4 cm)
|[Basket 3]| 2.75 in (7.0 cm)
Shell Rim Border
Work the rim on each basket before you attach the straps.
Border gauge: Each shell repeat uses 4 wall stitches, which is 1.14 in (2.9 cm) at 3.5 sts per inch. That gives 15 shells around a circumference of 17.1 in (43.4 cm).
Border Rnd (plum): Ch 1. Sc in the same st as the join. Sk 1 st, shell in the next st, sk 1 st, sc in the next st; repeat from * around, but on the last repeat skip the final sc. Join with a sl st to the first sc. (90 sts: 15 shells of 5 dc = 75 dc, + 15 sc)* Fasten off.
Why the math works: Each repeat uses exactly 4 stitches (sc, skip, shell, skip). Since 15 × 4 = 60, the round closes with no partial repeat. Every shell falls on position 3, directly above the tulip and plum puffs. Each shell’s 5 dc flare out over a span that would normally hold 2 sts, so the rim scallops without pulling the wall in.
Checkpoint: The basket is now 2.75 in (7.0 cm) tall, and the shell rim adds 0.75 in (1.9 cm) to the wall.
Joining: Attaching the Straps
Placement: Lay a basket flat with the join at the back.
- Mark the first stitch of Wall Rnd 1 as position A.
- Count 30 sts and mark stitch 31 as position B, directly opposite A.
Because there are 15 repeats (an odd number), A sits under a valley sc of the rim and B sits under the center of a shell. Each strap is 0.5 in (1.3 cm) wide, so it covers that difference once it’s sewn.
Marking the straps: Place markers on each strap, measuring from its bottom end:
- Bottom basket: 0 to 2.75 in (0 to 7.0 cm)
- Middle basket: 5.25 to 8 in (13.3 to 20.3 cm)
- Top basket: 10.5 to 13.25 in (26.7 to 33.7 cm)
- Free length to the loop: the remaining 6.75 in (17.1 cm)
Method: Lay the strap flat against the outside of the wall, with the braided side facing out. Line the strap’s bottom end (or its lower marker) up with the base ridge from Wall Rnd 1 and its upper marker with the top sc of the shell rim.
Whipstitch both long edges of the strap to the wall. Work one stitch into each wall round on each edge: 7 wall rounds plus the rim, so 8 stitches per edge. One whipstitch per round matches the strap’s length to the wall height with no stretching or bunching.
Sew strap 1 at position A on all three baskets, then strap 2 at position B on all three.
Tension: Pull each whipstitch just snug. Overtightening puckers the wall, and loose stitches let the basket tilt when a roll is in it.
Apex: Bring the free top ends of both straps together. Overlap them by 0.5 in (1.3 cm) and whipstitch around all edges of the overlap twice for strength.
Size checkpoint:
- Three baskets (8.25 in / 21.0 cm) plus two gaps (5 in / 12.7 cm) make 13.25 in (33.7 cm) of basket section.
- Each free strap length is 6.75 in. After the 0.5 in overlap, that leaves 6.25 in on each side of the loop.
- With the straps 5.5 in apart, that gives a loop about 5.6 in (14.2 cm) high.
- Total hung length: about 19 in (48.3 cm).
Final Blocking
- Weave in all ends inside each basket, along stitches of the same color.
- Lightly mist each basket with water.
- Stuff each basket firmly with a towel, or slide in a roll wrapped in plastic, to shape the wall into a straight cylinder.
- Pinch each shell into an even fan with your fingers.
- Pin the straps flat and straight on a towel.
- Let everything dry completely, at least 12 hours.
- Hang the holder empty for a day so the straps settle before loading rolls.
Final Quality-Control Checklist
- All 3 bases measure 5.5 in (14.0 cm) across and lie flat.
- Each wall has 60 sts in every round and 15 shells on the rim.
- The puffs, tulips, and shells line up vertically.
- Each basket is 2.75 in (7.0 cm) tall.
- Both straps are 20 in (50.8 cm) long before joining.
- The gaps between baskets are an even 2.5 in (6.4 cm).
- The baskets hang level, with no tilt to either side.
- The apex join is secure, with no loose ends.
- A roll drops into each basket without forcing.
Troubleshooting
Base ruffles: Your dc tension is loose. Use a smaller hook for Rnds 1–5 only.
Base cups: You’ve missed increases. Count each round against the totals given.
Puffs disappear inside the basket: You’re working with the wrong side facing. Keep the outside of the basket facing you throughout.
Spikes pull the wall in: Pull each long sc loop all the way up to the height of the current round before you finish the stitch.
Shells don’t line up: Check that Wall Rnd 7 has exactly 60 sts. Missing a puff top is the usual cause.
Basket tilts when hung: The straps aren’t directly opposite each other. Recount 30 sts between A and B.
Rolls don’t fit through the gaps: Tilt the roll as you load it, or lengthen both straps by the same amount and keep the gaps equal.
Care
Hand wash in cool water with mild soap, press out the water in a towel, and dry flat with each basket reshaped. Don’t wring, and don’t tumble dry.

Final Notes
Every measurement in this holder builds on the first one. The 14-stitch gauge gives a 5.5 in (14.0 cm) base. The 60-stitch base gives 15 even repeats. The wall reaches 2 in (5.1 cm) before the rim, and the shell rim brings each basket to 2.75 in (7.0 cm). The 20 in (50.8 cm) straps space the three baskets 2.5 in (6.4 cm) apart and leave enough for the loop, so the holder hangs at about 19 in (48.3 cm). If your first basket hits its checkpoints, the rest of the holder will come out to size too.
Happy crocheting!