This hanging holder stores three spare toilet rolls in a soft, vintage-inspired way. It has a solid cream backing panel and three lacy teal pockets, all trimmed in light aqua. The top tapers to a narrow tab looped around a wooden ring, so you can hang it from a door hook, a towel hook or a wall knob.
Each pocket uses a classic pineapple motif. Dense fans sit along the bottom, open mesh pineapples narrow toward the top, and chain arches frame each pineapple. The cream backing is plain single crochet, which keeps the whole piece sturdy and lets the lace stand out.
The pattern uses US crochet terms. The finished holder measures 8.5 in (21.6 cm) wide and 21.5 in (54.6 cm) long without the ring. With the tab and ring it hangs about 25 in (63.5 cm).
You will crochet one backing panel in rows and three pockets in the round from an oval base. Then you sew the pockets to the backing, add a two-row border, fold the tab around the ring and block.
Finished Size and Construction
- Finished size: 8.5 in x 21.5 in (21.6 cm x 54.6 cm), plus the tab and ring
- Skill level: Intermediate
- Terminology: US terms
- Yarn weight: Worsted (#4 medium) cotton
- Hook: 5.0 mm (H-8)
- Number of pieces: 4 (1 backing + 3 pockets)
- Layout: 3 pockets stacked in 1 vertical column
- Pocket size: 7.5 in (19.1 cm) wide, 4.25 in (10.8 cm) tall, about 2 in (5.1 cm) deep
- Backing size before border: 7.5 in x 21 in (19.1 cm x 53.3 cm): a 16 in (40.6 cm) body plus a 5 in (12.7 cm) taper
- Border depth: 0.5 in (1.3 cm), 2 rows
Materials
Use a smooth worsted-weight cotton or cotton blend, about 170 m per 100 g. Cotton holds the lace shape, washes well and won’t stretch out under the weight of the rolls.
- Cream (backing): 120 g / 204 m (223 yd)
- Teal (pocket lace): 60 g / 102 m (112 yd)
- Light aqua (pocket bases, rims, border): 60 g / 102 m (112 yd)
These quantities include a margin of about 15 to 20 percent.
Tools
- 5.0 mm (H-8) crochet hook
- Wooden ring, 2.75 in (7.0 cm) outer diameter
- Tapestry needle
- 4 locking stitch markers
- Scissors
- Measuring tape
- Blocking mat and rust-proof pins
- Spray bottle or steamer
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- dc – double crochet
- sc2tog – single crochet 2 together
- BLO – back loop only
- rev sc – reverse single crochet (crab stitch)
- sp / lp – space / loop
- st(s) – stitch(es)
- RS / WS – right side / wrong side
Special stitches
- Fan: 9 dc in the same stitch.
- V-st: (dc, ch 3, dc) in the same space.
- 2-dc shell: (2 dc, ch 3, 2 dc) in the same space.
- 3-dc shell: (3 dc, ch 3, 3 dc) in the same space.
- Rev sc: Work single crochet from left to right (right-handed) to make a corded edge.
Gauge and Checkpoints
Gauge: 16 sc and 18 rows = 4 in (10.2 cm) in sc rows.
Work one pocket first. It is the best test of your tension because the lace, the base and the rim all have to match the backing width.
- Base after Rnd 4: 60 sts, about 6.5 in x 2 in (16.5 cm x 5.1 cm).
- Base circumference after Rnd 5: 15 in (38.1 cm), which is 30 sts or 7.5 in (19.1 cm) when flattened.
- Lace (Rnds 6–12): about 3.5 in (8.9 cm) tall.
- Finished pocket wall (Rnds 5–14): 4.25 in (10.8 cm) tall.
- Backing after Row 72: 7.5 in x 16 in (19.1 cm x 40.6 cm).
If your piece is too big: go down to a 4.5 mm hook.
If your piece is too small: go up to a 5.5 mm hook.
Only the flattened pocket width matters for joining: 30 pocket sts must match the 30 backing sts.

Backing Panel (Make 1)
Use cream.
Ch 31.
Row 1 (RS): Sc in 2nd ch from hook and in each ch across. (30 sts)
Rows 2–72: Ch 1, turn, sc in each st across. (30 sts)
Checkpoint: The panel measures 7.5 in x 16 in (19.1 cm x 40.6 cm).
Taper
Row 73: Ch 1, turn, sc2tog, sc in each st to the last 2 sts, sc2tog. (28 sts)
Row 74: Ch 1, turn, sc in each st across. (28 sts)
Rows 75–94: Repeat Rows 73–74 ten more times. The odd rows are decrease rows and the even rows are plain.
Stitch counts after each decrease row:
- Row 75: 26
- Row 77: 24
- Row 79: 22
- Row 81: 20
- Row 83: 18
- Row 85: 16
- Row 87: 14
- Row 89: 12
- Row 91: 10
- Row 93: 8
Row 94 is plain. (8 sts)
Checkpoint: The taper is 22 rows, about 5 in (12.7 cm) tall. Each slanted edge has 22 row-ends.
Tab
Rows 95–110: Ch 1, turn, sc in each st across. (8 sts)
The tab is 2 in (5.1 cm) wide and 3.5 in (8.9 cm) long. Fasten off and leave a 12 in (30.5 cm) tail.
Pocket (Make 3)
Base (light aqua)
Ch 21.
Rnd 1: Sc in 2nd ch from hook, sc in next 18 ch, 3 sc in last ch. Working along the other side of the foundation ch, sc in next 18 ch, 2 sc in the last ch (the same ch as the first sc). Join with sl st to first sc. (42 sts: 18 on each long side and 3 at each end)
Rnd 2: Ch 1, 2 sc in first st, sc in next 18, 2 sc in each of next 3, sc in next 18, 2 sc in each of next 2. Join. (48 sts)
Rnd 3: Ch 1, [sc in next st, 2 sc in next st], sc in next 18, [sc in next st, 2 sc in next st] 3 times, sc in next 18, [sc in next st, 2 sc in next st] twice. Join. (54 sts)
Rnd 4: Ch 1, [sc in next 2 sts, 2 sc in next st], sc in next 18, [sc in next 2 sts, 2 sc in next st] 3 times, sc in next 18, [sc in next 2 sts, 2 sc in next st] twice. Join. (60 sts: 18 on each long side and 12 at each end)
Checkpoint: The base measures 6.5 in x 2 in (16.5 cm x 5.1 cm).
Place a marker on each of the 2 end stitches that sit exactly halfway around each curved end. These markers split the round into a 30-st back half and a 30-st front half. Choose one half to be the back.
Rnd 5: Ch 1, sc in BLO of each st around. Join. (60 sts)
This round turns the wall upward and leaves a ridge of unworked front loops on Rnd 4. Fasten off.
Lace (teal)
Rnd 6: Join teal in the 4th st of the front long side. Ch 1. Sc in the same st, skip 2 sts, fan in next st, skip 2 sts, sc in next st, ch 5, skip 5 sts, sc in next st. Repeat from * 4 more times, ending the last repeat at *. Join to first sc.
Each repeat uses 12 sts, so the round has 5 repeats: 10 sc, 5 fans (45 dc) and 5 ch-5 sps.
Rnd 7: Sl st in the first dc of the fan, ch 1, sc in the same dc. [Ch 3, skip 1 dc, sc in next dc] 4 times. Ch 2, V-st in ch-5 sp, ch 2, sc in the first dc of the next fan. Repeat from * around, ending at *. Join. (20 pineapple lps, 5 V-sts)
Rnd 8: Sl st in the first ch-3 lp, ch 1, sc in the same lp. [Ch 3, sc in next ch-3 lp] 3 times. Ch 3, skip ch-2 sp, 2-dc shell in V-st ch-3 sp, ch 3, skip ch-2 sp, sc in first lp of the next pineapple. Repeat around, ending at *. Join. (15 pineapple lps, 5 shells)
Rnd 9: Sl st in the first lp, ch 1, sc in the same lp. [Ch 3, sc in next lp] twice. Ch 4, skip ch-3 sp, 3-dc shell in shell ch-3 sp, ch 4, skip ch-3 sp, sc in first lp of the next pineapple. Repeat around, ending at *. Join. (10 pineapple lps, 5 shells)
Rnd 10: Sl st in the first lp, ch 1, sc in the same lp. Ch 3, sc in next lp. Ch 5, skip ch-4 sp, 3-dc shell in shell sp, ch 5, skip ch-4 sp, sc in first lp of the next pineapple. Repeat around, ending at *. Join. (5 tip lps, 5 shells)
Rnd 11: Sl st in the tip lp, ch 1. *Sc in tip lp, ch 5, (sc, ch 3, sc) in shell ch-3 sp, ch 5. Repeat from * around. Join. (15 sc, 10 ch-5 sps, 5 ch-3 sps)
Rnd 12 (leveling round): Ch 1. *Sc in sc, 4 sc in ch-5 sp, sc in sc, sc in ch-3 sp, sc in sc, 4 sc in ch-5 sp. Repeat from * around. Join.
The total is 15 (1 per existing sc) + 45 (worked into spaces, 9 per repeat) = 60 sts. Fasten off.
Checkpoint: Rnds 6–12 measure about 3.5 in (8.9 cm) tall.
Rim (light aqua)
Rnd 13: Join light aqua in any st. Ch 1, sc in each st around. Join. (60 sts)
Rnd 14: Ch 1, rev sc in each st around. Join. (60 rev sc)
Fasten off and weave in the ends.
Checkpoint: The wall from Rnd 5 to Rnd 14 measures 4.25 in (10.8 cm). Rnds 5–13 measure 4 in (10.2 cm), which matches 18 backing rows.
Make All Pieces
| Piece | Qty | Colors |
|---|---|---|
| Backing panel | 1 | Cream |
| 3 | Light aqua base and rim, teal lace |
Layout (seen from the front):
[ring]
[tab]
/taper\
| Pocket 3 | bottom Row 49 / top Row 67
| Pocket 2 | bottom Row 26 / top Row 44
| Pocket 1 | bottom Row 3 / top Row 21
|___ ________| Row 1
Joining
Use light aqua and a whipstitch. Join the pockets before you work the border, so each pocket lines up with the full 30-st width of the backing.
Stitch-to-stitch logic: The back half of each pocket has exactly 30 sts, and the backing is 30 sts wide. Every pocket stitch matches one backing stitch, with no easing.
- Lay the backing RS up. Mark Rows 3 and 21 on it.
- Flatten Pocket 1 so the marked 30-st back half lies against the backing.
- Bottom line: Whipstitch the 30 unworked front loops of Rnd 4 on the back half to the 30 sts of backing Row 3. Go one loop to one stitch.
- Top line: Reach inside the pocket and whipstitch the 30 back-half sts of Rnd 13 to the 30 sts of backing Row 21. Keep the Rnd 14 rim free so it stands up.
- Repeat for Pocket 2 (Rows 26 and 44) and Pocket 3 (Rows 49 and 67).
Keep the tension firm but flat. The backing should not pucker, and the stitches should not show through the lace.
Size checkpoint: The backing still measures 7.5 in (19.1 cm) across at every seam line. Each pocket front bows out about 2 in (5.1 cm).
Border
Border gauge: 16 sc = 4 in (10.2 cm) along stitches. Along row-ends, work 8 sc per 9 rows.
Border Row 1: With RS facing, join light aqua at the end of Row 94 on one side, at the base of the tab. Ch 1 and work:
- 22 sc down the taper (1 per row, Rows 94–73)
- 64 sc down the body side (Rows 72–1, 8 sc per 9 rows)
- 3 sc in the first foundation ch, sc in the next 28 ch, 3 sc in the last ch
- 64 sc up the other body side
- 22 sc up the other taper
Counts:
- Each side: 22 + 64 = 86
- Bottom: 3 + 28 + 3 = 34, including both corner groups
- Total: 86 + 34 + 86 = 206 sts
Border Row 2: Ch 1, turn. Sc in each st, working 3 sc in the center st of each corner group.
Counts:
- Each side: 86
- Bottom: 34 + 4 = 38
- Total: 210 sts
Fasten off. Leave the tab edges cream.
Why the math works: The gauge ratio is 16 sts to 18 rows, which reduces to 8 sts per 9 rows. Working 72 rows at that rate gives 64 sc. That equals 16 in (40.6 cm), the exact panel length, so the edge neither ruffles nor pulls in.
The taper slope is about 5.5 in (14.0 cm) long. At 1 sc per row, 22 sc fit that length.
The bottom keeps 1 sc per foundation st. Only the corners get the extra stitches: 2 per corner in each row.
The 2 rows add 0.5 in (1.3 cm) per side. The finished width is 7.5 + 0.5 + 0.5 = 8.5 in (21.6 cm). The length becomes 16.5 in (41.9 cm) of body plus 5 in (12.7 cm) of taper = 21.5 in (54.6 cm).
Final Blocking
- Wrap the tab through the wooden ring to the WS. Fold it 1.75 in (4.4 cm) and whipstitch Row 110 to the back of Rows 94–95 with the cream tail.
- Spray the whole piece until it is damp but not soaked.
- Pin the backing flat to 8.5 in x 21.5 in (21.6 cm x 54.6 cm). Check that the side edges are straight and the taper is even.
- Put a toilet roll or a rolled towel in each pocket. Shape the lace so the fans spread and the pineapple mesh opens into clear diamonds.
- Let it dry completely, which takes 12–24 hours. Then remove the pins.
Final Quality-Control Checklist
- Backing is 30 sts wide, with 72 body rows, a 22-row taper and a 16-row tab.
- All 3 pockets have 60 sts in Rnds 4, 5, 12, 13 and 14.
- Each pocket shows 5 fans and 5 pineapples around, with 2.5 visible on the front.
- Seam lines sit at Rows 3/21, 26/44 and 49/67.
- Border Row 2 totals 210 sts: 86 per side and 38 along the bottom.
- The finished piece measures 8.5 in x 21.5 in (21.6 cm x 54.6 cm).
- The tab is secure and the ring turns freely.
- All ends are woven in on the WS.
Troubleshooting
- Pocket is wider than the backing: Your lace is loose. Go down a hook size for Rnds 6–12, or make sure Rnd 12 has exactly 4 sc in each ch-5 sp.
- Pocket cups too tightly: You worked Rnd 5 through both loops. Redo it in BLO.
- Pineapple mesh twists: Check that each sc lands in a loop, not a chain stitch.
- Border ruffles: You added too many sc. Keep to 8 sc per 9 rows.
- Border pulls in: You skipped rows. Check that you have 64 sc on each body side.
- Backing sags under the rolls: Tighten the top seam line, or use a stiffer cotton.
Care
Hand wash in cool water with mild soap. Press out the water in a towel and dry flat, reshaping the pockets over rolls.

Final Notes
Here is the full measurement chain:
- The 4 in (10.2 cm) gauge gives a 30-st backing, 7.5 in (19.1 cm) wide.
- A 60-st pocket flattens to a 30-st back half, which matches the backing stitch for stitch.
- Each pocket wall from Rnd 5 to Rnd 13 is 18 rows, or 4 in (10.2 cm), on the backing.
- The 2-row border brings the holder to 8.5 in x 21.5 in (21.6 cm x 54.6 cm).
If each checkpoint matches, the final piece will hang straight and hold three rolls neatly.
Happy crocheting!