Harbor Stack Hanging Toilet Paper Holder Crochet Pattern

The Harbor Stack is a slim hanging holder for three spare toilet rolls. A long navy back panel tapers at the top into a narrow strap that wraps around a wooden ring. Three round-bottomed pockets are stitched down the front, each trimmed in cream at the base and rim.

The colors are deep navy and soft cream, a calm nautical pairing that suits white, wood, and brass bathrooms. Firm single crochet gives the pebbly, structured fabric that keeps the pockets standing up.

This pattern uses US crochet terms. The finished holder is 6 in (15.2 cm) wide and 26.5 in (67.3 cm) tall from the bottom edge to the base of the strap, and about 30 in (76.2 cm) tall to the top of the ring.

You will work the back panel flat in rows, taper it, and finish with a short strap. Then you will make three pockets in joined rounds, sew them to the panel stitch-to-stitch, and work a two-row cream edging around the panel’s sides and bottom.

Finished Size and Construction

  • Finished size: 6 in (15.2 cm) wide x 26.5 in (67.3 cm) tall, plus the strap and ring
  • Skill level: Advanced beginner
  • Terminology: US
  • Yarn weight: Worsted (#4) cotton
  • Hook: 5.0 mm (H-8)
  • Number of pieces: 4 (1 back panel + 3 pockets)
  • Layout: 3 pockets stacked vertically, centered on the panel
  • Pocket size: 4.8 in (12.2 cm) base diameter x 3.8 in (9.7 cm) wall height
  • Panel size before border: 5 in (12.7 cm) wide x 26 in (66.0 cm) tall, plus the strap
  • Border depth: about 0.5 in (1.3 cm), 2 rows

Materials

Choose a smooth, firm worsted-weight cotton or cotton blend. Cotton holds its shape, resists stretching under the weight of the rolls, and copes with bathroom humidity.

  • Navy (MC): 150 g / about 290 m
  • Cream (CC): 50 g / about 100 m
  • 5.0 mm (H-8) crochet hook
  • One 3 in (7.6 cm) wooden ring
  • Tapestry needle
  • 6–8 locking stitch markers
  • Scissors
  • Measuring tape
  • Rust-proof pins for blocking

These quantities include a margin of about 30–40% for gauge differences and swatching.

Abbreviations (US Terms)

  • ch – chain
  • sc – single crochet
  • sc2tog – single crochet 2 together
  • inc – 2 sc in the same stitch
  • sl st – slip stitch
  • BLO – back loop only
  • MR – magic ring
  • st(s) – stitch(es)
  • MC / CC – main color / contrast color

Special stitch – sc2tog: Insert the hook in the next st, yarn over, and pull up a loop. Insert the hook in the following st, yarn over, and pull up a loop. Yarn over and draw through all 3 loops on the hook.

Gauge and Checkpoints

Gauge: 16 sc x 18 rows = 4 in (10.2 cm) in sc worked flat. That is 4 sts and 4.5 rows per inch.

Make one pocket first. It is the quickest way to test gauge and fit, because it has to hold a real roll.

Checkpoints:
– Pocket base after Round 10: 4.8 in (12.2 cm) across
– Finished pocket wall: 3.8 in (9.7 cm) tall
– Panel Row 1: 5 in (12.7 cm) wide
– Panel after Row 45: 10 in (25.4 cm) tall
– Panel after Row 99: 22 in (55.9 cm) tall
– Panel after Row 117: 26 in (66.0 cm) tall, 2 in (5.1 cm) wide at the top

If your pieces are too big, go down half a hook size. If they are too small, go up half a size. A standard roll is about 4.5 in (11.4 cm) across, so the pocket base needs to stay at least that wide.

Close-up of navy crocheted fabric with textured popcorn stitch and cream-colored border trim detail.

Back Panel

Work in MC throughout.

Row 1: Ch 21. Sc in the 2nd ch from the hook and in each ch across. (20 sc)

Rows 2–99: Ch 1, turn. Sc in each st across. (20 sc)

Checkpoint: the panel should measure 5 in x 22 in (12.7 cm x 55.9 cm).

Taper

Rows 100–101: Ch 1, turn. Sc in each st across. (20 sc)

Row 102: Ch 1, turn. Sc2tog, sc to the last 2 sts, sc2tog. (18 sc)

Rows 103–104: Ch 1, turn. Sc in each st across. (18 sc)

Row 105: Repeat Row 102. (16 sc)

Rows 106–107: Work even. (16 sc)

Row 108: Repeat Row 102. (14 sc)

Rows 109–110: Work even. (14 sc)

Row 111: Repeat Row 102. (12 sc)

Rows 112–113: Work even. (12 sc)

Row 114: Repeat Row 102. (10 sc)

Rows 115–116: Work even. (10 sc)

Row 117: Repeat Row 102. (8 sc)

Checkpoint: the taper is 18 rows, or 4 in (10.2 cm), tall. The panel now measures 26 in (66.0 cm) in total.

Strap

Rows 118–126: Ch 1, turn. Sc in each st across. (8 sc)

The strap is 2 in (5.1 cm) long. Fasten off, leaving a 12 in (30.5 cm) tail for sewing.

Place a marker in Row 1, Row 35, and Row 69 at the right-hand edge. These rows mark where each pocket floor will sit.

Pocket (make 3)

Work in joined rounds. Start each round with ch 1 (it does not count as a stitch), and join with a sl st to the first sc.

Round 1: In MC, 6 sc in the MR. (6)

Round 2: Inc in each st. (12)

Round 3: [Sc 1, inc] x 6. (18)

Round 4: [Sc 2, inc] x 6. (24)

Round 5: [Sc 3, inc] x 6. (30)

Round 6: [Sc 4, inc] x 6. (36)

Round 7: [Sc 5, inc] x 6. (42)

Round 8: [Sc 6, inc] x 6. (48)

Round 9: [Sc 7, inc] x 6. (54)

Round 10: [Sc 8, inc] x 6. (60)

Checkpoint: the flat base is 4.8 in (12.2 cm) across.

Round 11 (turning round): Change to CC. Sc in the BLO of each st. (60 sts: 60 worked one per existing st + 0 added)

The unused front loops form a crisp fold, and the cream round makes the base edge you see in the photo.

Rounds 12–25: Change to MC. Sc in each st. (60)

Rounds 26–27: Change to CC. Sc in each st. (60)

Fasten off CC, leaving a 30 in (76.2 cm) tail for sewing.

The wall is 17 rounds (Rounds 11–27), or 3.8 in (9.7 cm), tall. A roll about 4.25 in (10.8 cm) tall will sit just above the rim.

Mark the 20 sts centered on the join in Round 27, 10 on each side of the seam. These 20 sts form the pocket back.

Make All Pieces

  • Back panel: 1, in MC
  • Pockets: 3, each with MC for Rounds 1–10 and 12–25, and CC for Rounds 11 and 26–27

Layout, from top to bottom:

   [ ring ]
   [ strap ]
   [ taper ]
   [ plain ]  rows 86–99
   [POCKET 3] rows 69–85
   [ gap   ]  rows 52–68
   [POCKET 2] rows 35–51
   [ gap   ]  rows 18–34
   [POCKET 1] rows 1–17

Each pocket covers 17 rows, and each gap is also 17 rows, or 3.8 in (9.7 cm). That gives you room to slide a roll in and out.

Joining

Lay the panel right side up. Sew each pocket with the CC tail using a whipstitch.

1. Rim: Line up the 20 marked rim sts with the 20 sts of the pocket’s top row, one to one. The top rows are Row 17 for Pocket 1, Row 51 for Pocket 2, and Row 85 for Pocket 3. Because the counts match exactly (20 to 20), the back lies flat with no gathers.

2. Sides: Flatten the back of the cup against the panel. Sew one vertical seam on each side of the pocket back, down through the surface of the panel’s first and last stitch columns.

Keep these seams one stitch column in from the edge. The row-end edges must stay free for the cream border.

3. Floor: Sew the back edge of the base, along the Round 11 fold, to the pocket’s first row. That is Row 1, 35, or 69.

The remaining 40 rim sts curve forward as the front of the pocket.

Tension: Pull each stitch snug but not tight. A seam pulled too hard puckers the panel and shortens the pocket.

Size checkpoint: After all three pockets are on, the panel should still measure 5 in (12.7 cm) wide and 26 in (66.0 cm) tall.

Border

Border gauge: The panel has 4 sts per inch across and 4.5 rows per inch up. To keep the side edges flat, work 8 sc for every 9 row ends. That matches the stitch rate along the long sides.

The pockets add no border stitches, because the border goes around the panel only.

Row 1 (CC): Join CC at the end of Row 117 on the left side.
– Work down the side: sc in 8 row ends, then skip 1. Repeat 13 times. (104 sc)
– Bottom: work into the free loops of the foundation chain. Work 3 sc in the first loop, 1 sc in each of the next 18, and 3 sc in the last loop. (24 sc, including both corner groups)
– Work up the other side to Row 117 the same way as the first side. (104 sc)

Total: 104 + 24 + 104 = 232 sts.

Row 2: Ch 1, turn.
– Sc in each st, working 3 sc in the center st of each corner group.
– Side counts: 104 sc on each side.
– Bottom count: 5 + 18 + 5 = 28 sc, including both corners.

Total: (232 worked one per existing st) + (4 added at the corners) = 236 sts. Fasten off.

Why the math works: The panel has 117 rows, and 117 ÷ 9 x 8 = 104. At 4 sts per inch, 104 sts measure 26 in (66.0 cm), which equals the panel height. That keeps the edging flat.

The 2 rows add about 0.5 in (1.3 cm) to each side and to the bottom. The panel ends up 6 in (15.2 cm) wide and 26.5 in (67.3 cm) tall.

Final Blocking

  1. Weave in all ends except the strap tail.
  2. Lightly spray the panel with water.
  3. Pin it flat to 6 in x 26.5 in (15.2 cm x 67.3 cm). Keep the pockets bowed forward.
  4. Stuff each pocket with a roll or a folded towel so it dries rounded.
  5. Leave it to dry completely.
  6. Thread the strap through the wooden ring from front to back.
  7. Fold the strap down and whipstitch Row 126 to the back of Row 117 across all 8 sts.
  8. Weave in the last tail.

Final Quality-Control Checklist

  • [ ] Panel measures 6 in (15.2 cm) wide x 26.5 in (67.3 cm) tall
  • [ ] Taper narrows evenly to 8 sts, with matching decreases on both sides
  • [ ] Each pocket base measures 4.8 in (12.2 cm) and each wall measures 3.8 in (9.7 cm)
  • [ ] All three pockets are level, centered, and spaced 3.8 in (9.7 cm) apart
  • [ ] Border has 104 sc per side with no ripples
  • [ ] Ring seam is secure and the holder hangs straight

Troubleshooting

  • Pocket too tight for a roll: Your gauge is too tight. Remake the pocket with a larger hook, or add a Round 11 of [sc 9, inc] x 6 (66 sts). If you add that round, mark 22 back sts and sew them to 20 panel sts, easing in the extra 2.
  • Wavy border: Your side counts are too high. Work exactly 8 sc per 9 row ends.
  • Pulled-in border: Your side counts are too low, or the border is too tight. Go up a hook size for the border only.
  • Pockets sagging: Tighten the rim seam and use a firmer cotton.
  • Holder twists: Make sure the strap is folded straight and sewn across all 8 sts.

Care

Hand wash in cool water and lay flat to dry, reshaping the pockets around rolls. Avoid tumble drying, which can shrink cotton and distort the pockets.

Crocheted navy and cream toilet paper organizer with four pockets hanging on white subway tile wall beside potted plants.

Final Notes

The measurements build on each other:
– Gauge is 4 sts and 4.5 rows per inch.
– That gives a 20-st panel 5 in (12.7 cm) wide and 117 rows, or 26 in (66.0 cm), tall.
– Each pocket is a 60-st cup, 4.8 in (12.2 cm) across and 3.8 in (9.7 cm) tall, and its 20 back sts match the panel’s 20 sts.
– The pockets and gaps are 17 rows each.
– The 104-st border sides finish the holder at 6 in x 26.5 in (15.2 cm x 67.3 cm).

Check each stage before you move on, and the holder will hang straight and hold three rolls.

Happy crocheting!

Leave a Comment