The Seaside Stack is a three-tier hanging holder for spare toilet paper rolls. Three sturdy round baskets hang one above the other on two braided-look straps, which meet at a natural wooden ring at the top. Hang it from a towel hook or door hook. Each basket holds one standard roll with the top of the roll peeking out, so it’s easy to grab.
The colors are calm and coastal: heathered denim blue for the base, the lower band and the top band, with an oatmeal stripe in the middle. Each basket rim is finished with reverse single crochet, which makes a raised, rope-like edge. The straps get the same edge, so the whole piece looks like a matching set.
The pattern uses US crochet terms. Each finished basket measures about 5.3 in (13.5 cm) across and 3.7 in (9.4 cm) tall. The whole hanger is about 22 in (55.9 cm) long from the top of the ring to the bottom of the lowest basket. It’s about 5.75 in (14.6 cm) wide including the straps.
Here’s the construction in brief. You crochet a flat circle base in rounds. Then you build straight walls starting with a back-loop round, change colors for the stripes, and finish with a reverse single crochet rim. Next you make two flat straps lengthwise and edge both long sides. Last, you sew the straps to the baskets and fold the strap ends over the ring.
Finished Size and Construction
- Finished size: about 22 in (55.9 cm) long x 5.75 in (14.6 cm) wide
- Skill level: Easy (advanced beginner)
- Terminology: US crochet terms
- Yarn weight: Bulky (#5) cotton or cotton blend
- Hook: 5.0 mm (H-8)
- Number of pieces: 5 crocheted pieces (3 baskets, 2 straps) plus 1 wooden ring
- Layout: 3 baskets stacked vertically, 1 strap on each side
- Piece size: each basket is 5.3 in (13.5 cm) in diameter x 3.7 in (9.4 cm) tall; each strap is about 21 in (53.3 cm) x 0.75 in (1.9 cm)
- Size before border: each basket is 5.3 in (13.5 cm) in diameter x 3.2 in (8.1 cm) tall after Rnd 21
- Border (rim) depth: 2 rounds, about 0.5 in (1.3 cm)
Materials
Yarn: Choose a bulky (#5) cotton or cotton blend with a soft twist. A heathered or multi-strand yarn gives the denim look. Cotton holds its shape and handles bathroom humidity well. Avoid very fluffy acrylics, because the baskets will slump. The amounts below assume a yarn of about 120 m per 100 g.
- Color A, Denim Blue: 110 g (about 132 m)
- Color B, Oatmeal: 40 g (about 48 m)
Tools:
- 5.0 mm (H-8) crochet hook
- 1 wooden ring, 3 in (7.6 cm) across
- 4 locking stitch markers
- Tapestry needle
- Scissors
- Measuring tape
- Spray bottle and a standard toilet paper roll (for blocking)
These quantities include a margin of 25% or more for your test basket, color-change tails and sewing.
Abbreviations (US Terms)
- ch: chain
- sc: single crochet
- inc: 2 sc in the same stitch
- sl st: slip stitch
- BLO: back loop only
- MR: magic ring
- st(s): stitch(es)
- rnd(s): round(s)
- rev sc: reverse single crochet
Special stitch: reverse single crochet (rev sc), also called crab stitch. Don’t turn your work. Work from left to right (or right to left if you crochet left-handed). Insert the hook into the next stitch to the right, yarn over, and pull up a loop. Then yarn over and pull through both loops on the hook. This twists each stitch into a corded, rope-like ridge.
Gauge and Checkpoints
Gauge: 13 sc and 15 rnds = 4 in (10.2 cm), worked firmly in joined rounds. That’s 3.25 sts and 3.75 rnds per inch.
Finish one complete basket and measure it before you make the other two. This basket is your real gauge test.
Checkpoints:
- After Rnd 5 (30 sts), the base is about 2.9 in (7.4 cm) across.
- After Rnd 9 (54 sts), the base is about 5.3 in (13.5 cm) across.
- After Rnd 12, the wall is about 0.8 in (2.0 cm) tall, measured from the BLO ridge.
- After Rnd 18, the wall is about 2.4 in (6.1 cm) tall.
- After Rnd 21, the wall is about 3.2 in (8.1 cm) tall.
- After Rnd 23, the basket is about 3.7 in (9.4 cm) tall.
If your basket is too big, the walls will feel soft. Go down to a 4.5 mm hook. If it’s too small, a standard roll of about 4.5 in (11.4 cm) across won’t drop in easily. Go up to a 5.5 mm hook. Either way, keep your tension firm, because these baskets need dense fabric.

Basket (Make 3)
Work in joined rounds. End each round with a sl st into the first sc. Start each round with ch 1, which doesn’t count as a stitch. Put a marker in the first stitch of every round.
To change color, work the joining sl st with the new color, pulling it through on the last yarn over. Either carry the unused color up the inside of the basket, or cut it and weave in the end.
Base (Color A)
- Rnd 1: 6 sc in MR, join. (6 sts)
- Rnd 2: Inc in each st around, join. (12 sts)
- Rnd 3: Sc 1, inc 6 times, join. (18 sts)
- Rnd 4: Sc 2, inc 6 times, join. (24 sts)
- Rnd 5: Sc 3, inc 6 times, join. (30 sts)
- Rnd 6: Sc 4, inc 6 times, join. (36 sts)
- Rnd 7: Sc 5, inc 6 times, join. (42 sts)
- Rnd 8: Sc 6, inc 6 times, join. (48 sts)
- Rnd 9: Sc 7, inc 6 times, join. (54 sts)
Tip: To keep the base round rather than hexagonal, stagger the increases on even rounds. For example, work Rnd 6 as sc 2, inc, sc 4, inc 5 times, sc 2. The total stays the same.
Walls
- Rnd 10 (Color A): Sc in the BLO of each st around, join. (54 sts) This makes a crisp ridge where the base turns up into the wall.
- Rnds 11–12 (Color A): Sc in each st around, join. (54 sts each round) Change to Color B on the last join.
- Rnds 13–18 (Color B): Sc in each st around, join. (54 sts each round) Change to Color A on the last join.
- Rnds 19–21 (Color A): Sc in each st around, join. (54 sts each round)
There are no increases or decreases in the walls, so the sides rise straight up with exactly 54 sts in every round. The lower blue band is Rnds 10–12 (3 rnds, about 0.8 in / 2.0 cm). The oatmeal band is Rnds 13–18 (6 rnds, about 1.6 in / 4.1 cm).
Strap (Make 2)
Work each strap lengthwise in Color A.
- Foundation: Ch 69.
- Row 1: Sc in the 2nd ch from the hook and in each ch across. (68 sts)
- Row 2: Ch 1, turn, sc in each st across. (68 sts)
- Row 3: Ch 1, don’t turn. Rev sc in each st across. (68 sts) Fasten off.
- Row 4: Rotate the strap and join Color A in the first free loop of the foundation chain. Ch 1, then rev sc in each free loop across. (68 sts) Fasten off.
The strap is about 21 in (53.3 cm) long (68 sts ÷ 3.25 sts per inch = 20.9 in) and about 0.75 in (1.9 cm) wide. Both long edges now have the rope texture.
Strap map, from the top end down:
- Sts 1–6: wrap around the ring (about 1.8 in / 4.6 cm)
- Sts 7–22: hanging section (about 5 in / 12.7 cm)
- Sts 23–34: sewn to Basket 1 (about 3.7 in / 9.4 cm)
- Sts 35–39: gap (about 1.5 in / 3.8 cm)
- Sts 40–51: sewn to Basket 2
- Sts 52–56: gap
- Sts 57–68: sewn to Basket 3
Total: 6 + 16 + 12 + 5 + 12 + 5 + 12 = 68 sts.
Make All Pieces
- 3 baskets: Use Color A for Rnds 1–12 and 19–23, and Color B for Rnds 13–18. Each basket takes about 25 g of Color A and 9 g of Color B.
- 2 straps: Color A only, about 5 g each.
Layout:
( RING )
/ \
Strap 1 Strap 2
| [Basket 1] |
| | gap
| [Basket 2] |
| | gap
| [Basket 3] |
Joining
Join the pieces after all three rims are finished (see Border below).
Mark each basket. Place one marker in stitch 1 of the round, where the joining seam is, and another in stitch 28. These points are directly opposite each other, with 26 sts between them on each side. Strap 1 covers the seam and hides the color-change jogs.
Sew on the straps. Use a long tail of Color A and whipstitch. Lay each strap flat on the outside of the wall, centered on its marker, and sew down both of its long edges. Each strap stitch is matched to a wall round as follows:
- Basket 1: Line up strap st 34 with Rnd 10 (the BLO ridge) and strap st 23 with Rnd 23 (the rim).
- Basket 2: Sts 40–51 cover Rnds 23 down to Rnd 10.
- Basket 3: Sts 57–68 cover Rnds 23 down to Rnd 10.
Stitch-to-round logic: Each basket section has 12 strap sts lying against 14 wall rounds (Rnds 10–23). Make one whipstitch per wall round. Twice per section, put 2 whipstitches into the same strap stitch. The strap section and the wall both measure about 3.7 in (9.4 cm), so the strap lies flat without puckering.
Attach the ring. Fold strap sts 1–6 over the wooden ring toward the back. Whipstitch the end to the back of sts 7–12. Repeat with the second strap on the opposite side of the ring.
Tension: Pull each whipstitch snug, but not so tight that it dents the wall. Leave the gap sections unsewn.
Size checkpoint: Hang the holder. It should be about 22 in (55.9 cm) from the top of the ring to the bottom of Basket 3, with all three baskets hanging level. If one tilts, check that both straps are sewn to the same rounds.
Border (Basket Rim)
Work the rim on each basket in Color A right after Rnd 21, before joining.
Border gauge: Same as the main fabric, 13 sts = 4 in (10.2 cm). The two rim rounds add about 0.5 in (1.3 cm) of height.
- Rnd 22: Ch 1, sc in each st around, join. (54 sts)
- Rnd 23: Ch 1, don’t turn. Rev sc in each st around, join. (54 sts) Fasten off and weave in the end.
Why the math works: The rim has exactly 1 stitch for each of the 54 wall stitches, with nothing added, so the edge matches the wall circumference of about 16.6 in (42.2 cm). Extra stitches would make the rim ruffle, and skipped stitches would pull it in and narrow the opening. Rev sc uses a little more yarn than sc, so keep your tension relaxed or the rope edge will tighten.
The straps don’t need a separate border. Their rev sc edges were worked in Rows 3–4, with 68 sts on each long side to match the 68 sts of Row 1.
Final Blocking
- Weave in all ends on the inside of the baskets, hiding each one in its matching color.
- Mist each basket until it’s damp but not soaked.
- Put a toilet paper roll in each basket to round out the walls, and press each base flat on a table.
- Gently pinch the rev sc rims upward so the rope edge stands evenly.
- Straighten the straps and smooth the gap sections flat.
- Leave the rolls inside and let the holder dry fully on a flat surface, 12–24 hours.
- Hang the holder and check that it’s still about 22 in (55.9 cm) long.
Final Quality-Control Checklist
- Every round from Rnd 9 to Rnd 23 has 54 sts.
- Each base lies flat and is about 5.3 in (13.5 cm) across.
- Each basket is about 3.7 in (9.4 cm) tall.
- The stripes line up on all three baskets: 3 blue rnds, 6 oatmeal rnds, then 3 blue rnds plus the rim.
- Each strap has 68 sts and is about 21 in (53.3 cm) long.
- The straps sit directly opposite each other, and Strap 1 covers the round seams.
- The gaps between baskets are even, about 1.5 in (3.8 cm).
- The ring is sewn on securely, and no yarn ends show on the outside.
Troubleshooting
- The base cups upward: You may have too few stitches or tight tension. Recount Rnds 1–9 and loosen slightly on the increase rounds.
- The base ripples: You probably have extra stitches. Each round should add exactly 6.
- The walls flare out: Stitches have crept in. Every wall round should have 54 sts.
- The walls are floppy: Go down a hook size.
- The color change jogs are visible: Center Strap 1 over stitch 1 to hide them.
- The rim ruffles or pulls in: Rework Rnd 23 with exactly 54 rev sc and adjust your tension.
- The baskets hang crooked: Re-sew the straps so both meet the same rounds.
Care
Hand wash the holder in cool water with mild soap, reshape the baskets around rolls, and let it dry flat. Don’t soak the wooden ring; wipe it dry instead.

Final Notes
Each measurement in this pattern builds on the one before it:
- A gauge of 13 sc = 4 in (10.2 cm) gives a 54-st base that’s 5.3 in (13.5 cm) across.
- Keeping 54 sts in every round gives straight walls that reach 3.2 in (8.1 cm) after Rnd 21.
- A 2-round rim, also 54 sts, brings each basket to 3.7 in (9.4 cm).
- Each 68-st strap is divided exactly into the ring wrap, the hanging section, three basket sections and two gaps.
- The finished holder is 22 in (55.9 cm) long.
Check your measurements at each step and your holder will match the one shown.
Happy crocheting!