This hanging bag holder is a soft, tall tube made from classic granny squares turned on point. The body looks like a lattice of peach diamonds framed in dusty teal. You stuff bags in at the wide top and pull them out one at a time through the small gathered opening at the bottom.
The square centers, rims and handle are warm peach, and every motif has a muted teal outer round. Those teal outlines line up into diagonal bands that cross at each seam. The look is retro and homey, and it suits a pantry door or a hook by the sink.
This pattern uses US crochet terms. The finished holder is about 8.5 in (21.6 cm) wide when flat and about 16 in (40.6 cm) tall. The hanging loop adds about 4.5 in (11.4 cm) above the rim.
To build it, you make 12 granny squares and 6 half-square triangles and join them in rings to form a tube. Then you add a single crochet top rim with a built-in handle, and a bottom rim that decreases into the opening.
Finished Size and Construction
- Finished size: 8.5 in (21.6 cm) wide flat, about 16 in (40.6 cm) tall, plus handle
- Skill level: Easy to intermediate
- Terminology: US crochet terms
- Yarn weight: Worsted (#4)
- Hook: 5.0 mm (H-8)
- Number of pieces: 12 squares and 6 triangles, joined into one tube
- Layout: 4 tiers of 3 diamonds around, plus 3 triangles at the top edge and 3 at the bottom edge
- Piece size: 4 in (10.2 cm) per side, about 5.7 in (14.5 cm) from corner to corner
- Size before border: 17.0 in (43.2 cm) around, 8.5 in (21.6 cm) flat, 14.1 in (35.8 cm) tall
- Border depth: top rim 1.2 in (3.0 cm); bottom rim 1.6 in (4.1 cm), measured along the fabric before it gathers
Materials
Use a smooth worsted weight cotton or cotton blend. Cotton holds the tube’s shape, stretches less under the weight of the bags, and washes well. Acrylic also works, but it will sag more.
- Color A, Peach: 130 g, about 238 m (260 yd)
- Color B, Teal: 80 g, about 146 m (160 yd)
These amounts assume yarn of about 183 m per 100 g (200 yd per 3.5 oz). They include a margin of about 20 percent for gauge differences and swatching.
Tools: 5.0 mm (H-8) hook, tapestry needle, 6 stitch markers, scissors, measuring tape, blocking mat and rust-proof pins.
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- dc – double crochet
- sc2tog – single crochet 2 together
- sp – space
- BLO – back loop only
- st(s) – stitch(es)
- RS / WS – right side / wrong side
Cluster: 3 dc worked into the same space.
Corner: (3 dc, ch 2, 3 dc) worked into one corner space.
Gauge and Checkpoints
Make one square first, then lightly block it and measure it. Every seam count and rim count in this pattern depends on the square’s size.
- Square gauge: one 4-round square = 4 in (10.2 cm) per side
- Rim gauge: 16 sc and 20 rounds = 4 in (10.2 cm)
Square checkpoints:
- Round 1: about 1.25 in (3.2 cm) across
- Round 2: about 2 in (5.1 cm)
- Round 3: about 3 in (7.6 cm)
- Round 4: 4 in (10.2 cm)
If your square is too big, switch to a 4.5 mm hook. If it is too small, switch to a 5.5 mm hook. Being off by just 0.25 in (0.6 cm) per square changes the tube by about 1 in (2.5 cm) around.

Granny Square (make 12)
Work Rounds 1–3 in Color A and Round 4 in Color B.
Round 1 (A): Make a magic ring. Ch 3 (counts as dc), 2 dc in ring, ch 2, [3 dc in ring, ch 2] 3 times. Sl st to the top of the ch-3. (12 dc, 4 ch-2 corners)
Round 2 (A): Sl st in the next 2 dc and into the ch-2 sp. Ch 3, (2 dc, ch 2, 3 dc) in the same sp, ch 1, [corner in the next ch-2 sp, ch 1] 3 times. Sl st to the top of the ch-3. (24 dc; 6 per side)
Round 3 (A): Sl st into the corner sp. Ch 3, (2 dc, ch 2, 3 dc) in the same sp, ch 1, cluster in the next ch-1 sp, ch 1, [corner, ch 1, cluster in the next ch-1 sp, ch 1] 3 times. Sl st to the top of the ch-3. Fasten off. (36 dc; 9 per side)
Round 4 (B): Join B in any corner sp. Ch 3, (2 dc, ch 2, 3 dc) in the same sp, ch 1, [cluster in the next ch-1 sp, ch 1] twice, corner, ch 1, [cluster in the next ch-1 sp, ch 1] twice; repeat from * 2 more times. Sl st to the top of the ch-3. Fasten off. (48 dc; 12 per side)*
Each side now has 12 dc plus a corner space at each end, so there are 14 joining points per side.
Half-Square Triangle (make 6)
Each triangle is half of a square, cut from corner to corner. You work it in turned rows, starting from the middle of the long edge. The two short legs match a square side, and the long edge becomes part of the rim.
Row 1 (A): Make a magic ring. Ch 4 (counts as dc + ch 1), (3 dc, ch 2, 3 dc) in the ring, ch 1, dc in the ring. Turn. (8 dc; 1 cluster per leg)
Row 2 (A): Ch 4, cluster in the first ch-1 sp, ch 1, corner in the ch-2 sp, ch 1, cluster in the last ch-1 sp, ch 1, dc in the 3rd ch of the turning ch. Turn. (14 dc; 2 clusters per leg)
Row 3 (A): Ch 4, [cluster in the next ch-1 sp, ch 1] twice, corner, ch 1, [cluster in the next ch-1 sp, ch 1] twice, dc in the 3rd ch of the turning ch. Turn. Fasten off A, then join B in the first st. (20 dc; 3 clusters per leg)
Row 4 (B): Ch 4, [cluster in the next ch-1 sp, ch 1] 3 times, corner, ch 1, [cluster in the next ch-1 sp, ch 1] 3 times, dc in the 3rd ch of the turning ch. Fasten off. (26 dc; 4 clusters per leg)
Checkpoint: Each leg is 4 in (10.2 cm) and the long edge is about 5.7 in (14.5 cm). Each leg has 12 cluster dc, the corner sp at one end and the edge dc at the other, so it has the same 14 joining points as a square side. The long edge has 4 row ends on each side of the ring.
Make All Pieces
- Squares: 12 (Rounds 1–3 peach, Round 4 teal)
- Triangles: 6 (Rows 1–3 peach, Row 4 teal)
Lay the pieces out like this. D = a square turned on point, T = a triangle. Each line is a ring of 3 that wraps around the tube.
Top: T T T (long edges up)
Tier 1: D D D
Tier 2: D D D (offset half a diamond)
Tier 3: D D D
Tier 4: D D D (offset half a diamond)
Bottom: T T T (long edges down)
Joining
Join with Color B. Hold two pieces WS together with the RS facing you, and slip stitch through the BLO of both. This leaves a flat teal ridge that blends into the teal outer rounds.
Stitch-to-stitch logic: Every seam has 14 sl sts: 1 through the starting corners, 1 through each of the 12 matching dc pairs, and 1 through the ending corners or edge dc. Skip the ch-1 spaces, since they line up on their own. Every side and every leg has 14 points, so no seam needs extra stitches.
Joining order:
- Top ring: Join each top triangle’s two legs to the upper sides of two neighboring Tier 1 diamonds, all the way around (6 seams).
- Tier 2: Place each diamond below the point where two Tier 1 diamonds touch. Join its upper sides to their lower sides (6 seams).
- Tiers 3 and 4: Join each tier the same way below the one above it (12 seams).
- Bottom ring: Join each bottom triangle’s legs to the lower sides of two neighboring Tier 4 diamonds (6 seams).
That makes 30 seams. Work the corner sl sts snugly where four corners meet so no hole opens up.
Tension: Keep your slip stitches as loose as your dc tops. Tight seams pucker the tube. If needed, go up one hook size for joining only.
Size checkpoint: The tube should measure 17.0 in (43.2 cm) around, 8.5 in (21.6 cm) flat, and 14.1 in (35.8 cm) tall. The height comes from three half-diagonals plus one full diagonal: (3 × 2.83 in) + 5.66 in.
Border
The border is two rims in Color A, both worked in rounds at 16 sc = 4 in (10.2 cm).
Top Rim and Handle
Round 1: With the RS facing, join A at the top point of any Tier 1 diamond. Work 2 sc in the diamond’s ch-2 corner sp. Then work across the next triangle’s long edge: 3 sc in the Row 4 end, 2 sc in the Row 3 end, 3 sc in the Row 2 end, 2 sc in the Row 1 end, 2 sc in the next Row 1 end, 3 sc in the Row 2 end, 2 sc in the Row 3 end, 3 sc in the Row 4 end. Repeat 2 more times. Sl st to the first sc. (22 sc per repeat: 2 + 20; 3 × 22 = 66 sc)
Rounds 2–4: Ch 1, sc in each st around, sl st to the first sc. (66 sc)
Before Round 5, place a marker so the 6 stitches you will skip sit centered above a triangle. This becomes the back of the holder.
Round 5: Ch 1, sc in the next 30 sts, ch 36, skip the next 6 sts, sc in the last 30 sts. Sl st to the first sc. (60 sc + ch-36 loop)
Round 6: Ch 1, sc in each of the 30 sc, sc in each of the 36 ch, sc in each of the 30 sc. Sl st to the first sc. Fasten off. (60 + 36 = 96 sc)
Handle inner edge: Join A in the first skipped st. Sc in each of the 6 skipped sts and in the free loop of each of the 36 ch. Sl st to the first sc and fasten off. (6 + 36 = 42 sc)
The 36 chains make a 9.0 in (22.9 cm) loop that stands about 4.5 in (11.4 cm) above the rim when the holder hangs.
Why the math works: At gauge, the 20 sc along each triangle plus the 2 sc at each diamond point give 66 sc, or 16.5 in (41.9 cm). That is slightly less than the 17.0 in (43.2 cm) tube, so the rim draws in a little and keeps a neat oval shape instead of flaring.
Bottom Rim
Round 1: Turn the tube upside down. Join A at the bottom point of any Tier 4 diamond and work exactly like top rim Round 1. (66 sc)
Round 2: Ch 1, [sc in the next 9 sts, sc2tog] 6 times. Sl st to the first sc. (60 sc)
Round 3: [Sc in the next 8 sts, sc2tog] 6 times. (54 sc)
Round 4: [Sc in the next 7 sts, sc2tog] 6 times. (48 sc)
Round 5: [Sc in the next 6 sts, sc2tog] 6 times. (42 sc)
Round 6: [Sc in the next 5 sts, sc2tog] 6 times. (36 sc)
Round 7: [Sc in the next 4 sts, sc2tog] 6 times. (30 sc)
Round 8: Sc in each st around. Fasten off. (30 sc)
Each decrease round removes exactly 6 sts, so the gathering is even all the way around. The final 30 sc measure 7.5 in (19.1 cm) around, which makes an opening about 2.4 in (6.1 cm) across. That is snug enough to grip the bags and loose enough to pull one out.
Final Blocking
- Weave in all ends along the dc posts on the WS.
- Soak the holder in cool water for 10 minutes, then press it in a towel. Don’t wring it.
- Stuff the tube loosely with a rolled towel.
- Pat it to 8.5 in (21.6 cm) wide and 14.1 in (35.8 cm) tall, not counting the rims.
- Straighten the teal seams into clean diagonals and pin the handle straight.
- Let it dry completely, then remove the towel and pins.
Final Quality-Control Checklist
- All squares measure 4 in (10.2 cm) per side
- All 30 seams have 14 sl sts and lie flat
- There are no holes where four corners meet
- Top rim Round 1 has 66 sc
- The handle is centered at the back
- The bottom rim ends at 30 sc with a round opening
- The tube measures 8.5 in (21.6 cm) flat
Troubleshooting
Squares cup or ruffle: Check that every corner has exactly ch 2 and every side gap has exactly ch 1.
Triangle legs are short: Row 1 must start with ch 4. Without it, each leg loses a cluster.
Diamonds twist around the tube: A tier was joined one position off. Check that each diamond sits below a junction.
Top rim flares: Rework the rim with a hook 0.5 mm smaller.
Bags won’t pull out: Skip Round 7 and work Round 8 over 36 sc.
Handle stretches: Use cotton and keep the inner-edge round firm.
Care
Hand wash in cool water with mild soap. Lay the holder flat to dry and reshape the tube while it is damp.

Final Notes
Every measurement in this holder starts with a 4 in (10.2 cm) square. Its 5.7 in (14.5 cm) diagonal, times three, gives a 17.0 in (43.2 cm) tube. Four tiers plus the triangles give a 14.1 in (35.8 cm) body. The 66-stitch rims fit that circumference, and six even decrease rounds bring the bottom down to a 30-stitch opening.
For a second holder, swap the colors or use teal for the rims and handle, and hang the two side by side.
Happy crocheting!