Cocoa Heart Trio Hanging Toilet Paper Holder Crochet Pattern

This hanging toilet paper holder brings a warm, cozy look to the bathroom. A brown back panel is topped with a light cream mesh band, and three deep brown pockets sit across the front. Each pocket has a cream lattice heart and a cream scalloped rim, and each one holds a standard roll.

The palette is just two colors: a warm cocoa brown and a soft cream. The style is farmhouse-cozy and works for Valentine’s Day, the winter holidays, or all year. All terms in this pattern are US crochet terms.

The finished holder measures 16.25 in wide x 11 in tall (41.3 cm x 27.9 cm), not counting the hanging loops. The three loops reach about 1.25 in (3.2 cm) above the top edge.

Construction is simple. You crochet one flat back panel in rows: brown single crochet first, then cream filet mesh. Next you make three pockets in joined rounds, starting from a flat rectangular base, and add a heart to each one with surface slip stitch. Then you sew the pockets to the panel and work a cream border, with the hanging loops built into the border.

Finished Size and Construction

  • Finished size: 16.25 in x 11 in (41.3 cm x 27.9 cm)
  • Skill level: Intermediate
  • Terminology: US crochet terms
  • Yarn weight: Worsted (#4), cotton or cotton blend
  • Hook: 4.5 mm (US 7)
  • Number of pieces: 4 (1 back panel + 3 pockets)
  • Layout: 3 pockets side by side across the lower panel
  • Pocket size: 5 in wide x 2.2 in deep x 5.6 in tall (12.7 cm x 5.6 cm x 14.2 cm)
  • Panel size before border: 15.25 in x 10 in (38.7 cm x 25.4 cm)
  • Border depth: about 0.5 in (1.3 cm) per edge

Materials

Choose a firm worsted cotton or cotton blend. Cotton keeps its shape well and holds the weight of the rolls without sagging. A soft acrylic will work too, but the pockets may lean outward.

  • Color A, Cocoa Brown: 150 g / 270 m (295 yd)
  • Color B, Cream: 70 g / 126 m (138 yd)

The meters are based on yarn of about 180 m per 100 g. Both quantities include a safety margin of at least 15 percent.

Tools:

  • 4.5 mm (US 7) crochet hook
  • Tapestry needle
  • 8 locking stitch markers
  • Rust-proof pins
  • Measuring tape
  • Blocking mat
  • Optional: 3 wooden rings, 1.5 in (3.8 cm) across, for hanging from a towel bar

Abbreviations (US Terms)

  • ch – chain
  • sc – single crochet
  • dc – double crochet
  • sl st – slip stitch
  • st(s) – stitch(es)
  • sp – space
  • blo – back loop only
  • rnd – round
  • rep – repeat
  • RS – right side
  • WS – wrong side

Surface sl st: Hold the yarn inside the pocket, behind the fabric. Put the hook through the fabric from the front at the marked spot, pull up a loop, then pull it through the loop on the hook. Repeat this at the next spot along the line. Keep the stitches the same size as the fabric under them.

Scallop: 5 dc in the same st.

Gauge and Checkpoints

  • Single crochet: 16 sc and 18 rows = 4 in (10.2 cm)
  • Filet mesh: 8 squares and 9 rows = 4 in (10.2 cm)

Make one pocket before you start the panel. The pocket is the best test piece, because the roll has to fit inside.

Checkpoints:

  1. Pocket base after Row 10: 5 in x about 2.2 in (12.7 cm x 5.6 cm)
  2. Pocket body after Rnd 22: 15 in (38.1 cm) around; a roll should slide in with a little room to spare
  3. Panel after Row 27: 15.25 in x 6 in (38.7 cm x 15.2 cm)
  4. Panel after the mesh: 15.25 in x 10 in (38.7 cm x 25.4 cm)
  5. After the border: 16.25 in x 11 in (41.3 cm x 27.9 cm)

If your piece is more than 0.25 in (0.6 cm) too big, go down half a hook size. If it is too small, go up half a hook size. If the roll will not fit, do not add stitches. Use a larger hook instead, so the stitch math stays the same.

Crocheted brown and cream fabric with detailed textured stitches and scalloped decorative edge trim visible.

Pocket (Make 3)

Base

With Color A, ch 21.

Row 1 (RS): Sc in 2nd ch from hook and in each ch across. Turn. (20 sc)

Rows 2–10: Ch 1, sc in each st across. Turn. (20 sc)

The base now measures 5 in x about 2.2 in (12.7 cm x 5.6 cm). Do not fasten off.

Body

You will work in joined rounds. At the end of each rnd, sl st to the first sc and ch 1. The ch 1 does not count as a st.

Rnd 1: Work 20 sc across Row 10 (sts 1–20). Work 10 sc down the row ends (sts 21–30). Work 20 sc across the other side of the foundation ch (sts 31–50). Work 10 sc up the row ends (sts 51–60). Join. (60 sc)

Mark the sts now:

  • Back face: sts 1–20
  • Front face: sts 31–50
  • Sides: sts 21–30 and 51–60

The join sits at a back corner, where it will be hidden.

Rnd 2: Sc blo in each st around. Join. (60 sc) The unused front loops make a sharp fold, so the base sits flat.

Rnds 3–22: Sc in each st around. Join. (60 sc)

The body is now about 4.9 in (12.4 cm) tall. Fasten off Color A.

Rnd 23: Join Color B in st 1. Sc in each st around. Join. (60 sc)

Rnd 24: Ch 1, sl st in first st. Sk 2 sts, 5 dc in next st, sk 2 sts, sl st in next st. Rep from * 8 more times. Then sk 2 sts, 5 dc in next st, sk 2 sts, and join to the first sl st. (10 scallops: 50 dc + 10 sl st)

Check the math: each repeat uses 6 sts. 1 + (9 x 6) + 5 = 60 sts.

The pocket is 5.6 in (14.2 cm) tall from the base fold to the top of the scallops.

Lattice Heart

Use Color B for the heart, worked as a grid of surface sl st on the front face. The grid has 8 vertical lines (V1–V8), 2 sts apart, at sts 34, 36, 38, 40, 42, 44, 46 and 48 of each rnd. It also has horizontal lines along the tops of Rnds 6, 8, 10, 12, 14, 16 and 18.

Each box between the lines is 2 sts wide and 2 rnds tall. Brown shows through the middle of each box, which gives the cross-stitch look.

Horizontal lines (one surface sl st per st):

  • Rnd 6: sts 40–42
  • Rnd 8: sts 38–44
  • Rnd 10: sts 36–46
  • Rnds 12, 14 and 16: sts 34–48
  • Rnd 18: sts 34–40 and sts 42–48 (leave st 41 out, so the top of the heart dips in the center)

Vertical lines (one surface sl st per rnd):

  • V1 (st 34) and V8 (st 48): from Rnd 12 to Rnd 18
  • V2 (st 36) and V7 (st 46): from Rnd 10 to Rnd 18
  • V3 (st 38) and V6 (st 44): from Rnd 8 to Rnd 18
  • V4 (st 40) and V5 (st 42): from Rnd 6 to Rnd 18

The heart is 7 boxes wide and 6 boxes tall, so it measures 3.5 in x about 2.7 in (8.9 cm x 6.9 cm). It is centered on the front face to within half a stitch. Weave in all ends on the inside of the pocket.

Back Panel

With Color A, ch 62.

Row 1: Sc in 2nd ch from hook and in each ch across. Turn. (61 sc)

Rows 2–27: Ch 1, sc in each st across. Turn. (61 sc)

Checkpoint: 15.25 in x 6 in (38.7 cm x 15.2 cm). Fasten off Color A.

Row 28 (first mesh row): Join Color B. Ch 4 (counts as dc + ch 1). Sk next st, dc in next st. Ch 1, sk next st, dc in next st. Rep from * across. Turn. (31 dc + 30 ch-1 sps = 61 sts; 30 squares)

Rows 29–36: Ch 4 (counts as dc + ch 1). Dc in next dc. Ch 1, dc in next dc. Rep from * across, placing the last dc in the 3rd ch of the turning ch-4. Turn. (61 sts; 30 squares)

That makes 27 sc rows and 9 mesh rows. Checkpoint: 15.25 in x 10 in (38.7 cm x 25.4 cm). Fasten off.

Make All Pieces

  • Pockets: 3. Each uses about 32 g of Color A and 6 g of Color B.
  • Back panel: 1. It uses about 30 g of Color A and 15 g of Color B, plus about 12 g of Color B for the border and loops.

Layout (RS of panel, top to bottom):

[      cream mesh band, panel sts 1-61      ]
[ Pocket A  ][  Pocket B   ][  Pocket C  ]
   sts 1-20     sts 21-41      sts 42-61

Joining

Lay the panel RS up, with the mesh band at the top. Set each pocket on top with its back face (sts 1–20) against the panel and its heart facing you.

Placement:

  • Pocket A covers panel sts 1–20.
  • Pocket B covers sts 21–41. Ease its 20 back sts over these 21 panel sts, so the middle pocket sits exactly centered.
  • Pocket C covers sts 42–61.

The bottom edge of each pocket base lines up with panel Row 2. Rnd 23 of each pocket lines up with about panel Row 25.

Sewing: Use Color A and the tapestry needle.

  1. Whipstitch the back edge of the base (Rnd 1, sts 1–20) to panel Row 2, one pocket st to one panel st.
  2. Sew up both back corner columns (sts 1 and 20) to Rnd 23. Go through one pocket st and one panel row per stitch.
  3. Tack the top of the back face (Rnd 23, sts 1–20) to the panel. Leave the scallops free.

Keep your tension firm but flat. If the panel ripples, your stitches are too tight. Keep the side edges of the panel clear for the border.

Checkpoint: the panel is still 15.25 in x 10 in (38.7 cm x 25.4 cm), and the pockets touch each other without overlapping.

Border

The border uses the same gauge as the sc fabric, so each rnd is about 0.25 in (0.6 cm) deep. The border is worked on the panel edge only, and the pockets are not caught in it.

Rnd 1: With RS facing, join Color B in the first st of the top edge (a top corner).

  • Top edge: Work 3 sc in the corner st. Sc in each of the next 59 sts (dc and ch-1 sps). Work 3 sc in the last st.
  • Hanging loops: When you reach panel sts 6, 31 and 56, sc in the st, ch 12, then sl st into the sc you just made. These loops do not change the count.
  • Side edge: Work 2 sc in each mesh row end (9 rows = 18 sc) and 1 sc in each sc row end (27 sc), for 45 sc.
  • Bottom edge: Work 3 sc in the first foundation st. Sc in each of the next 59 sts. Work 3 sc in the last st.
  • Second side edge: Work 45 sc to match the first side.

Join to the first sc.

Count per side, from corner center to corner center (inclusive): top 63, bottom 63, each side 49. The total is (2 x 63) + (2 x 49) − 4 shared corners = 220 sts.

Rnd 2: Ch 1. Sc in each st and work 3 sc in each corner center st. When you reach a loop, sc in its base sc, then work 20 sc into the ch-12 loop, skipping the sl st. Join. Top and bottom now have 65 sts each, and each side has 51. The total is 228 sts, not counting the loop sc. Fasten off.

Why the math works: The 3 sc in each corner add exactly 2 sts per side, per rnd. That is enough to turn the corner without cupping. The 2 rnds add about 0.5 in (1.3 cm) to every edge. That makes the holder 15.25 in + 1 in = 16.25 in wide and 10 in + 1 in = 11 in tall (41.3 cm x 27.9 cm). Each sc row end gets 1 sc and each taller mesh row end gets 2 sc, which matches the row heights, so the sides stay straight.

Final Blocking

  1. Mist the whole holder lightly with water. Do not soak it.
  2. Pin it flat, RS up, to 16.25 in x 11 in (41.3 cm x 27.9 cm).
  3. Open each mesh square with your fingers and pin the top edge straight.
  4. Stuff each pocket with a roll wrapped in a plastic bag, so it dries round.
  5. Pin the scallops so each one fans out evenly.
  6. Leave it to dry completely, then take out the pins and the rolls.

Final Quality-Control Checklist

  • The holder is 16.25 in x 11 in (41.3 cm x 27.9 cm).
  • There are 30 open mesh squares in every mesh row.
  • Each pocket has 10 even scallops.
  • The hearts line up at the same height on all three pockets.
  • Each heart has 7 boxes across its widest row, a center dip at the top and a single box at the tip.
  • The loops sit at panel sts 6, 31 and 56.
  • The pockets are sewn securely along the base and both back corners.
  • All ends are woven in on the WS or inside the pockets.

Troubleshooting

  • Pockets too tight for a roll: Remake them with a hook 0.5 mm larger. Keep the counts the same.
  • Heart lines puckering: Your surface sl sts are too tight. Pull up taller loops.
  • Scallops ruffling: Check that you skip 2 sts on both sides of every 5-dc group.
  • Mesh band leaning: Make sure the last dc of every row goes into the turning ch.
  • Border waving: You have too many sts along the sides. Stick to 45 sc per side.
  • Panel sagging under the rolls: Add a tack stitch at the center top of each pocket.

Care

Hand wash in cool water and lay flat to dry. Take out the rolls before washing, and reshape the pockets while they are damp.

Brown and cream crocheted toilet paper holders with geometric patterns hang above a white toilet in a sunlit bathroom window.

Final Notes

Everything in this holder follows one measurement chain. The 16-st gauge makes a 15 in (38.1 cm) pocket that fits a roll. Three 5 in (12.7 cm) pocket faces fill a 15.25 in (38.7 cm) panel, and 2 border rnds bring the holder to 16.25 in x 11 in (41.3 cm x 27.9 cm). Check each stage as you go, and the finished holder will hang straight and full.

Happy crocheting!

Leave a Comment