Raspberry Heart Trio Toilet Paper Holder Crochet Pattern

This hanging organizer holds three spare rolls in three stacked heart-shaped baskets. Each basket has two rounded lobes, a soft V at the top and a pointed base. A row of round bobble beads trims every rim.

The sample is worked in a single raspberry-pink cotton. The pebbly texture comes from lemon peel stitch, which alternates single crochet and double crochet. Cotton keeps the hearts firm and holds up well in a bathroom. A natural wooden ring at the top completes the look.

This pattern uses US crochet terms. Each basket is about 7.5 in (19.1 cm) wide, 7.3 in (18.5 cm) tall and 4.5 in (11.4 cm) deep. The full hanger, from the top of the ring to the lowest point, is about 32 in (81.3 cm) long.

Each basket has three parts: a front heart, a back heart and a gusset strip. You join these with single crochet seams on the outside, so the heart outline stands out. You then work a beaded rim around the opening. Finally, short straps connect the three baskets to each other and to the ring.

Finished Size and Construction

  • Finished size: each basket 7.5 in (19.1 cm) wide x 7.3 in (18.5 cm) tall x 4.5 in (11.4 cm) deep; full hanger about 32 in (81.3 cm) long
  • Skill level: Intermediate
  • Terminology: US
  • Yarn weight: worsted (#4) cotton
  • Hook: 5.0 mm (H-8)
  • Number of pieces: 3 baskets (each made of 2 heart panels + 1 gusset) + 6 straps = 15 pieces
  • Layout: one vertical column of 3 baskets
  • Heart panel size: 7.4 in (18.8 cm) wide x 6.8 in (17.3 cm) tall after its edging round
  • Basket size before border: 6.8 in (17.3 cm) tall
  • Border (rim) depth: 0.5 in (1.3 cm)

Materials

Use a smooth worsted-weight cotton or cotton blend. Pure acrylic will work, but the baskets will sag more under the weight of the rolls. Pick a yarn with clear stitch definition so the lemon peel texture and the beads stand out.

  • Raspberry pink: 400 g, about 680 m (744 yd)
  • 5.0 mm (H-8) crochet hook
  • Wooden ring, 2.75 in (7.0 cm) across
  • Tapestry needle
  • 4 stitch markers
  • Rust-proof pins
  • Measuring tape and scissors

These quantities include a margin of about 25% over the expected use, so you have extra for a gauge swatch and any ripping back.

Abbreviations (US Terms)

  • ch – chain
  • sc – single crochet
  • dc – double crochet
  • sc2tog – single crochet 2 together
  • sl st – slip stitch
  • st(s) – stitch(es)
  • RS / WS – right side / wrong side

Special stitch – Bead: Ch 3. Yarn over, insert the hook into the 3rd ch from the hook, pull up a loop, yarn over and pull through 2 loops. Repeat from * to * 2 more times in the same ch (4 loops on hook). Yarn over and pull through all 4 loops. This makes a small round bobble that stands up on the rim.

Lemon peel stitch: rows of alternating sc and dc that always begin with sc. The ch 1 at the start of a row never counts as a stitch.

Gauge and Checkpoints

Gauge is 14 sts and 14 rows = 4 in (10.2 cm) in lemon peel stitch. That works out to 3.5 sts and 3.5 rows per inch. The edging and seam single crochets sit at about the same rate.

Make one complete heart panel before you start anything else. It is your gauge test.

  • After Row 6: 12 sts, 3.4 in (8.6 cm) wide
  • After Row 12: 24 sts, 6.9 in (17.5 cm) wide
  • After Row 18: 5.1 in (13.0 cm) tall
  • After Row 22: 6.3 in (16.0 cm) tall at the lobes
  • After the edging round: 7.4 in (18.8 cm) x 6.8 in (17.3 cm)

If your panel is more than 0.25 in (0.6 cm) too big, go down 0.5 mm in hook size. If it is too small, go up 0.5 mm. Then check the gusset, which should measure 4 in (10.2 cm) x 14.3 in (36.3 cm).

Deep pink crocheted tote bag with dimensional puff-stitch texture and braided handles photographed against a soft, blurred background.

Heart Panel (make 6: 2 per basket)

Each panel starts at the bottom point and is worked upward in rows. It widens to full width, works straight for 6 rows, and then splits into two lobes.

Ch 3.

Row 1: Sc in 2nd ch from hook, dc in last ch. Turn. (2 sts)

Row 2 (increase row): Ch 1, (sc, dc) in first st, (sc, dc) in last st. Turn. (4 sts)

Rows 3–12 (increase rows): Ch 1, (sc, dc) in first st, then alternate sc and dc in each st across to the last st, (sc, dc) in last st. Turn.

Every increase row adds 1 st at each end. Row 3 has 6 sts, and each following row is 2 sts wider: Row 4 has 8, Row 5 has 10 and Row 6 has 12. Row 7 has 14, Row 8 has 16, Row 9 has 18, Row 10 has 20, Row 11 has 22 and Row 12 has 24 sts.

Rows 13–18: Ch 1, sc in next st, dc in next st, repeat from * across. Turn. (24 sts per row)

First Lobe

Row 19: Ch 1, sc in next st, dc in next st 6 times. Turn, leaving the other 12 sts unworked. (12 sts)

Row 20: Ch 1, sc2tog, dc in next st, sc in next st 4 times, sc2tog. Turn. (10 sts)

Row 21: Ch 1, sc2tog, dc, sc 3 times, sc2tog. Turn. (8 sts)

Row 22: Ch 1, sc2tog, dc, sc 2 times, sc2tog. (6 sts) Fasten off.

Second Lobe

With the WS of Row 18 facing, join the yarn in the 13th st, which is the first unworked st. Repeat Rows 19–22. Do not fasten off.

The gap between the two lobes forms the V at the top center, which is about 1.1 in (2.8 cm) deep.

Edging Round

Rotate the panel and work clockwise around it with the RS facing:

  • Ch 1, sc in the space at the bottom of the V (1).
  • Up the inner side of the lobe: sc in each of 4 row-ends (4).
  • Lobe top: 2 sc in first st, sc in next 4 sts, 2 sc in last st (8).
  • Down the outer side of the lobe: sc in each of 4 row-ends (4).
  • Down the side, Rows 18–13: 1 sc per row-end (6).
  • Down the slanted side, Rows 12–1: 3 sc in every 2 row-ends (18).
  • Point: 1 sc in each of the 2 foundation chs (2).
  • Up the second slanted side (18), then up Rows 13–18 (6).
  • Second lobe: outer side (4), top (8), inner side (4).
  • Sl st to the first sc. Total: 83 sts. Fasten off.

Place a marker in the first sc below each lobe on both sides. The joining edge runs from one marker, around the point, to the other: 24 + 2 + 24 = 50 sts. The top edge is the other 33 sts: 1 + 16 + 16.

Gusset (make 3: 1 per basket)

Ch 15.

Row 1: Sc in 2nd ch from hook, dc in next ch, sc in next ch, repeat from * across, ending with dc. Turn. (14 sts)

Rows 2–50: Ch 1, sc in next st, dc in next st across. Turn. (14 sts per row)

Each row begins with sc worked into the last dc of the row before. Fasten off after Row 50. The gusset measures 4 in (10.2 cm) x 14.3 in (36.3 cm). It has 50 row-ends along each long side, one for every stitch of the panel’s joining edge.

Straps (make 6)

Ch 3.

Row 1: Sc in 2nd ch from hook and in next ch. Turn. (2 sts)

Next rows: Ch 1, sc in each st. Turn. (2 sts)

  • Top straps (make 2): work until the strap measures 7 in (17.8 cm).
  • Connector straps (make 4): work until the strap measures 5 in (12.7 cm).

Each strap is about 0.5 in (1.3 cm) wide.

Make All Pieces

Piece Quantity Approx. yarn
Heart panels 6 30 g each
Gussets 3 35 g each
Seams and rim, per basket 3 10 g each
Straps 6 15 g total

Each finished basket uses about 105 g. The total expected use is about 330 g, which is why the materials list asks for 400 g.

Layout, top to bottom:

        [ RING ]
       /        \
    Top    Top
   [ BASKET 1 ]
    |          |   Connectors
   [ BASKET 2 ]
    |          |   Connectors
   [ BASKET 3 ]

Joining

Every basket is joined with single crochet seams worked from the outside. This creates the raised outline around each heart.

Seam 1: Hold a heart panel and a gusset with the WS together, panel facing you. Line up gusset Row 1 with one marker on the panel. Join the yarn through the marked st and the first gusset row-end.

Work 1 sc through both layers in each of the 50 joining-edge sts, pairing each stitch with 1 gusset row-end. Pin the point first to keep it centered: panel sts 25–26, the 2 point sts, should meet gusset rows 25–26. Fasten off. (50 sc)

Seam 2: Join the second heart panel to the other long side of the gusset in the same way. Line up the lobes with the first panel’s lobes. (50 sc)

Tension: Keep the seam stitches the same size as your edging stitches. If the seam pulls tight, the basket will pucker at the point. If it is loose, the outline will look wavy.

Checkpoint: The joined basket should stand about 6.8 in (17.3 cm) tall at the lobes and be 4 in (10.2 cm) deep across the gusset. A standard roll, 4.5 in (11.4 cm) across and 4 in (10.2 cm) tall, should drop in with gentle stretching and sit in the upper part of the basket.

Border (Beaded Rim)

The rim is worked around the top opening of each basket. It follows the same gauge of 3.5 sts per inch.

Rim Round 1: With the RS facing, join the yarn at the top corner where the gusset meets the front panel. Ch 1 and sc in each st around:

  • front top edge: 33
  • gusset end (top of Row 50): 14
  • back top edge: 33
  • gusset end (foundation chain side): 14

Sl st to the first sc. Total: 94 sts.

Rim Round 2: Ch 1, sc in next 2 sts, Bead, repeat from * 47 times. Sl st to the first sc. Total: 94 sc + 47 Beads. Fasten off.

Why the math works: Round 1 places exactly 1 sc on each existing edge stitch: 33 + 14 + 33 + 14 = 94. No seam stitches are added, because the seams end at the lobe markers. Round 2 adds the beads without skipping stitches, so the rim keeps its width. Since 94 is even, the 2-stitch repeat fits exactly 47 times with no partial repeat.

The beads don’t need to line up with the corners. They run continuously around the opening, including through the V. The rim adds 0.5 in (1.3 cm), so each basket finishes at 7.3 in (18.5 cm) tall.

Final Blocking

  1. Weave in all ends inside the baskets.
  2. Lightly mist each basket with water.
  3. Stuff each basket firmly with a towel shaped like a roll so the heart stands upright.
  4. Pinch the bottom point and the V into shape, then pin the lobes round.
  5. Roll each bead between your fingers so it stands up neatly.
  6. Let everything dry completely.
  7. Pin the straps flat, mist them and let them dry straight.

Final Assembly

Hang this at full height while you attach the straps so you can check the spacing.

  1. Top straps: Fold 1 in (2.5 cm) of one end over the wooden ring and sew it down. Sew 1 in (2.5 cm) of the other end to the inside of Basket 1 at a gusset end, just below the rim. Repeat on the other side. About 5 in (12.7 cm) of each strap stays visible.
  2. Connectors: Sew 1 in (2.5 cm) of one end to the outside of the upper basket’s gusset at seam level. Sew 1 in (2.5 cm) of the other end inside the lower basket’s gusset end, below the rim. About 3 in (7.6 cm) stays visible, and about 1.5 in (3.8 cm) of space is left between the upper basket’s point and the lower rim.

Final Quality-Control Checklist

  • [ ] Every heart panel measures 7.4 x 6.8 in (18.8 x 17.3 cm)
  • [ ] Every edging round has 83 sts, and every joining edge has 50 sts
  • [ ] Every gusset has 50 rows of 14 sts
  • [ ] Both seams on every basket have 50 sc, with the point centered
  • [ ] Every rim has 94 sts and 47 beads
  • [ ] All three baskets match in height and hang level
  • [ ] Straps are sewn securely with 1 in (2.5 cm) overlaps
  • [ ] All ends are woven in on the inside

Troubleshooting

  • The heart leans to one side: the increases were not matched at both ends. Count each row as you go: Row 12 must have 24 sts.
  • The point puckers: the seam is too tight at the point. Work those 2 stitches more loosely, or redo them with a larger hook.
  • The gusset is too long or too short: check your row gauge. Add or remove gusset rows in pairs, and add or remove the same number of slanted-edge sc on the panels.
  • The beads lean over: chain more loosely, and pinch the beads upright during blocking.
  • The basket sags: use cotton, block over a stuffed form, and make sure the straps carry the weight from the gusset ends.

Care

Hand wash in cool water and lay flat to dry, reshaped over a towel roll. Do not hang the holder up while it is wet.

Deep rose crocheted three-pocket organizer with wooden ring hanging on white wall beside a potted plant and linen.

Final Notes

The measurement chain goes like this:

  1. Gauge is 14 sts = 4 in (10.2 cm).
  2. Each heart panel is 7.4 x 6.8 in (18.8 x 17.3 cm), with a 50-st joining edge.
  3. That edge matches the 50-row, 4 in (10.2 cm) gusset.
  4. The 94-st rim with 47 beads finishes each basket at 7.3 in (18.5 cm) tall.
  5. Three baskets and their straps give a hanger about 32 in (81.3 cm) long.

If you check each step against its checkpoint, the three hearts will match.

Happy crocheting!

Leave a Comment