The Sweetheart Tiers holder holds three spare rolls in three round baskets that hang one above the other from a wooden ring. A dusty pink heart sits on the front of each basket, edged with a row of cream puff bumps.
The colors are soft dusty pink for the structure and creamy ivory for the trim. The style is cottage-romantic but practical, because firm single crochet keeps each basket’s shape when a roll is inside.
This pattern uses US crochet terms. The finished holder is about 23 in (58.4 cm) long from the top of the ring to the bottom of the lowest basket. Each basket is about 4¾ in (12.1 cm) across and 3¼ in (8.3 cm) tall.
To build it, you make three baskets in joined rounds, three hearts in rows, and two long straps. You then sew the straps along both sides of the baskets and fold them over the ring. Last, you add the cream border to each heart and sew the hearts on.
Finished Size and Construction
- Finished size: about 23 in (58.4 cm) long including the ring; baskets 4¾ in (12.1 cm) in diameter
- Skill level: Easy–Intermediate
- Terminology: US
- Yarn weight: worsted (#4) cotton
- Hook: 4.5 mm (US 7)
- Number of pieces: 8 (3 baskets, 3 hearts, 2 straps), plus 1 wooden ring
- Layout: 1 column of 3 tiers, with 1½ in (3.8 cm) gaps between baskets
- Piece size: each basket 4¾ in (12.1 cm) across × 3¼ in (8.3 cm) tall; each heart center 4¼ in (10.8 cm) wide × 3.1 in (7.9 cm) tall
- Heart size before border: 4¾ in (12.1 cm) wide × 3½ in (8.9 cm) tall
- Border depth: about ¼ in (0.6 cm), for a finished heart of 5¼ in (13.3 cm) × 4 in (10.2 cm)
Materials
Use a smooth, firm worsted cotton or cotton blend. Cotton holds its shape and survives a humid bathroom better than soft acrylic.
- Dusty pink: 130 g / 225 m
- Cream: 20 g / 35 m
- 4.5 mm (US 7) hook
- Wooden ring, 3 in (7.6 cm) outer diameter
- Tapestry needle
- 4 stitch markers
- Scissors and a tape measure
- Pins
The yarn amounts include a margin of about 25% for your gauge swatch and seaming.
Abbreviations (US Terms)
- ch: chain
- sc: single crochet
- sl st: slip stitch
- inc: 2 sc in the same stitch
- sc2tog: single crochet 2 together
- BLO: back loop only
- st(s): stitch(es)
- RS / WS: right side / wrong side
Special stitch: Mini Puff (mp). Yarn over, insert the hook in the stitch, yarn over, and pull up a loop. Repeat from * to * 2 more times in the same stitch (7 loops on hook). Yarn over, pull through all 7 loops, then ch 1 to lock. The locking ch-1 is part of the mp and does not count as a separate stitch.
Gauge and Checkpoints
Gauge: 16 sc and 18 rows = 4 in (10.2 cm).
Make one heart center first. It is your test piece.
- Heart center, after Row 11: 4¼ in (10.8 cm) wide.
- Heart center, after Row 14: 3.1 in (7.9 cm) tall from tip to lobe top.
- Basket base, after Round 5: 2.4 in (6.1 cm) across.
- Basket base, after Round 10: 4¾ in (12.1 cm) across.
- Basket wall, after Round 24: about 3 in (7.6 cm) tall from the fold line.
Too big? Go down to a 4.0 mm hook. Too small? Go up to a 5.0 mm hook. The basket base matters most. It needs to be 4¾ in (12.1 cm) so that a standard roll, about 4½ in (11.4 cm) across, slides in easily.

Basket (Make 3, Dusty Pink)
Work in joined rounds. Ch 1 at the start of each round; it does not count as a stitch. Join with a sl st to the first sc. The join seam makes a straight column that you will use later to place the straps.
Round 1: Make a magic ring and work 6 sc into it. Join. (6)
Round 2: Inc in each st. (12)
Round 3: Sc 1, inc around. (18)
Round 4: Sc 2, inc around. (24)
Round 5: Sc 3, inc around. (30)
Checkpoint: 2.4 in (6.1 cm) across.
Round 6: Sc 4, inc around. (36)
Round 7: Sc 5, inc around. (42)
Round 8: Sc 6, inc around. (48)
Round 9: Sc 7, inc around. (54)
Round 10: Sc 8, inc around. (60)
Checkpoint: the base lies flat and measures 4¾ in (12.1 cm) across, for a circumference of 15 in (38.1 cm).
Round 11 (conversion round): Sc in BLO of each st around. This gives 60 worked 1 per stitch + 0 added = 60. The unused front loops form a crisp fold where the base meets the wall.
Rounds 12–24: Sc in each st around. (60 in each round)
Checkpoint: the wall is about 3 in (7.6 cm) tall from the fold.
Round 25 (rim): Sl st loosely in each st around. (60)
Fasten off and weave in the ends. The basket is 3¼ in (8.3 cm) tall overall.
Mark the strap columns: Place a marker in Round 25, stitch 1 (the seam column). Place a second marker in stitch 31, directly opposite. Place a third marker in stitch 16, halfway between them on the front. This is where the heart will be centered.
Heart Center (Make 3, Dusty Pink)
Row 1: Ch 2, then work 3 sc in the 2nd ch from the hook. (3)
Row 2: Ch 1, turn. Inc in the first st, sc 1, inc in the last st. (5)
Row 3: Ch 1, turn. Inc in the first st, sc across to the last st, inc in the last st. (7)
Rows 4–8: Repeat Row 3. Your counts will be 9, 11, 13, 15, then 17 at the end of Row 8.
Rows 9–11: Ch 1, turn, sc across. (17 in each row)
Checkpoint: 4¼ in (10.8 cm) wide.
First lobe:
Row 12: Ch 1, turn, sc in the first 8 sts. Leave the rest unworked. (8)
Row 13: Ch 1, turn. Sc2tog, sc 4, sc2tog. (6)
Row 14: Ch 1, turn. Sc2tog, sc 2, sc2tog. (4) Fasten off.
Second lobe:
Skip the 9th stitch of Row 11 (the center stitch). Join the yarn in the 10th stitch.
Row 12: Ch 1, then sc in the same st and in the next 7 sts. (8)
Rows 13–14: Work as for the first lobe. (6, then 4) Fasten off.
Checkpoint: 3.1 in (7.9 cm) tall from tip to lobe top.
Edging Round 1 (pink trim round): Join pink at the tip. Ch 1, then work around the heart as follows:
- 3 sc in the base of Row 1 (the tip)
- 1 sc in each row-end of Rows 2–11 up the first side (10)
- 1 sc in each row-end of Rows 12–14 up the outer edge of the lobe (3)
- Across the top of Row 14: inc, sc 2, inc (6)
- 1 sc in each row-end of Rows 14–12 down the inner edge of the lobe (3)
- 1 sc in the skipped center stitch of Row 11 (1)
- The second lobe: 3 + 6 + 3
- 1 sc in each row-end of Rows 11–2 down the second side (10)
Join to the first sc. The total is 3 + 10 + 3 + 6 + 3 + 1 + 3 + 6 + 3 + 10 = 48. Fasten off.
Checkpoint: 4¾ in (12.1 cm) × 3½ in (8.9 cm).
Leave the hearts unbordered for now. The cream border comes after joining.
Straps (Make 2, Dusty Pink)
Foundation: Ch 89 loosely.
Row 1: Sc in the 2nd ch from the hook and in each ch across. (88)
Checkpoint: 22 in (55.9 cm) long. If it is shorter, redo the chain with a 5.0 mm hook and switch back for Row 1.
Rows 2–4: Ch 1, turn, sc across. (88 in each row)
Fasten off. Each strap is 22 in (55.9 cm) × 0.9 in (2.3 cm). At 4 sts per inch, each stitch along the strap equals ¼ in (0.6 cm).
Make All Pieces
- Dusty pink: 3 baskets, 3 heart centers (with Edging Round 1), 2 straps
- Cream: 3 heart borders (worked in the Border section)
Layout, measured from the bottom end of each strap:
( wooden ring )
strap sts 83–88 folded over ring
/ \
sts 52–82 (7¾ in free) sts 52–82
| sts 39–51 | BASKET 1 + heart | sts 39–51 |
| sts 33–38 | gap 1½ in | sts 33–38 |
| sts 20–32 | BASKET 2 + heart | sts 20–32 |
| sts 14–19 | gap 1½ in | sts 14–19 |
| sts 1–13 | BASKET 3 + heart | sts 1–13 |
Check the totals: 13 + 6 + 13 + 6 + 13 + 31 + 6 = 88 stitches.
Joining
Method: Whipstitch with dusty pink through the strap edges and the basket wall.
- Mark strap stitches 13, 19, 32, 38, 51, and 82 on both straps.
- Lay the first strap centered over the stitch-1 column of Basket 3. Line up strap stitch 1 with the fold at Round 11 and strap stitch 13 with the Round 25 rim.
- Stitch-to-stitch logic: 13 strap stitches cover 15 basket rounds (Rounds 11–25). Sew 1 strap stitch to each round. At Rounds 15 and 21, catch 2 rounds with one strap stitch. Sew both long edges of the strap.
- Leave strap stitches 14–19 free. This is the 1½ in (3.8 cm) gap.
- Attach Basket 2 to stitches 20–32 the same way, and Basket 1 to stitches 39–51.
- Attach the second strap to the stitch-31 column of each basket in the same way.
- Fold strap stitches 83–88 of each strap over the ring to the back. This uses 1½ in (3.8 cm) of each strap. Whipstitch the folded end flat, and set the two straps side by side on the ring.
Tension: Pull each whipstitch just snug. If you pull too hard, the basket wall puckers and the strap ripples.
Size checkpoint: The distance from the bottom of Basket 3 to the strap fold should be 20½ in (52.1 cm). That is 82 stitches × ¼ in. The stacked baskets span 12¾ in (32.4 cm). The free strap length is 7¾ in (19.7 cm).
Border: Cream Puff Edging on the Hearts
Border gauge: 1 repeat (mp + sl st) = 2 sts, about ½ in (1.3 cm). Edging Round 1 has 48 sts around a 12 in (30.5 cm) perimeter.
Border Round (trim round): Join cream in the middle sc of the 3 tip stitches. Then:
- Mp in the next st, sl st in the next st. Repeat around.
- Join with a sl st to the top of the first mp. Fasten off.
The count is 48 worked 1 per stitch + 0 added = 48 (24 mp + 24 sl st).
Per side: Count the heart as two halves, from the tip to the center V and from the center V back to the tip. Each half has 24 stitches: 12 mp + 12 sl st.
Why the math works: The tip is stitch 0 and gets an mp. The center V stitch sits exactly at position 24. Because 24 is even, it also gets an mp. The tip and the V are both marked by a puff, and each lobe gets the same pattern. The 2 increases at the top of each lobe in Edging Round 1 give the puffs room to fan out around the curve, so the edge does not cup.
Checkpoint: the finished heart is 5¼ in (13.3 cm) × 4 in (10.2 cm).
Attaching the hearts:
- Center each heart over the stitch-16 marker, with its tip ¼ in (0.6 cm) above the base fold.
- The lobes stand about 1 in (2.5 cm) above the rim.
- With pink, sew through Edging Round 1, just inside the puffs, up to rim height.
- Tack across the heart at the rim line so the lobes stay upright.
- Check that the heart sits about 0.7 in (1.8 cm) away from each strap.
Final Blocking
- Spray the whole holder lightly with water.
- Put a roll in each basket so the walls dry round.
- Lay it flat and pin the hearts so the lobes are symmetrical. Fan the puffs evenly.
- Smooth the straps flat and straight from basket to ring.
- Let it dry completely, at least 24 hours for cotton.
- Hang it and check that the tiers sit level.
Final Quality-Control Checklist
- Each basket has 60 stitches and is 4¾ in (12.1 cm) across.
- Each heart has 48 border stitches and 24 puffs.
- There is a puff at the tip and at the center V of each heart.
- Both straps have 88 stitches and the same layout.
- The baskets have 1½ in (3.8 cm) gaps between them.
- The ring folds are 1½ in (3.8 cm) deep and secure.
- All ends are woven in.
Troubleshooting
- Base ruffles: Your tension is too loose. Try a smaller hook for Rounds 1–10.
- Base cups upward: Your tension is too tight. Go up a hook size, or check that each increase round has the right count.
- Wall flares outward: Make sure Round 11 is worked in BLO.
- Rolls don’t fit: Your base is under 4½ in (11.4 cm) across. Redo it with a larger hook.
- Heart edge waves: The sides have too many stitches. Recount Edging Round 1 against the breakdown.
- Puffs lean or look flat: Pull up each loop to the same height before closing the puff.
- Tiers tilt: The two straps are attached at different stitches. Match the markers on both straps.
Care
Hand wash in cool water, press out the water gently, and dry flat with a roll in each basket to keep the shape. Avoid the dryer.

Final Notes
All the sizes come from gauge. At 16 sc per 4 in (10.2 cm), each 60-stitch basket is 4¾ in (12.1 cm) across. Each 17-stitch heart is 4¼ in (10.8 cm) wide, grows to 4¾ in (12.1 cm) with the pink trim, and finishes at 5¼ in (13.3 cm) with the cream border. Each 88-stitch strap is 22 in (55.9 cm): 51 stitches for the baskets and gaps, 31 free, and 6 folded over the ring. The finished holder is about 23 in (58.4 cm) long. Check each stage before moving on.
Happy crocheting!