This bag holder keeps all your loose plastic bags in one neat tube that hangs on a cabinet knob. You push bags in at the top and pull them out one at a time from the small opening at the bottom.
The design uses two calm neutrals, warm taupe and soft cream. The body is covered in rows of cream triangles that point down. Each triangle is made from three long spike stitches that fan out from one point. Each stripe of triangles sits halfway between the triangles of the stripe below it, so taupe triangles show between them.
This pattern uses US crochet terms. The finished holder is about 18 in (45.7 cm) around, 9 in (22.9 cm) wide when flattened, and 19 in (48.3 cm) long. That measurement leaves out the hanging strap.
You work it as one flat rectangle of single crochet with spike rows. Then you seam it into a tube and add shaping rounds at the bottom and a finishing round at the top. Last, you sew a separate strap inside the top band.
Finished Size and Construction
- Finished size: 18 in (45.7 cm) around × 19 in (48.3 cm) long
- Skill level: Intermediate (spike stitches, color changes, seaming)
- Terminology: US
- Yarn weight: Worsted (#4)
- Hook: 5 mm (H-8)
- Number of pieces: 1 body plus 1 small strap
- Layout: One flat panel seamed into a vertical tube; the seam runs up the back
- Flat panel size: 18¼ in (46.4 cm) wide × 18 in (45.7 cm) tall
- Size before finishing rounds: 18 in (45.7 cm) tall tube
- Finishing depth: Bottom shaping adds about 1 in (2.5 cm); the top rim adds almost nothing
Materials
Use a smooth worsted yarn with clear stitch definition. Cotton or a cotton blend holds its shape well and makes the spike triangles look crisp. Acrylic is lighter and also works well. The amounts below assume about 180 m per 100 g.
- Color A (taupe): 210 g, about 378 m
- Color B (cream): 100 g, about 180 m
The quantities include a margin of about 10% for gauge differences and a test swatch.
Tools:
– 5 mm (H-8) crochet hook
– Yarn needle
– 2 locking stitch markers
– Measuring tape
– Blocking pins and a spray bottle
Abbreviations (US Terms)
- ch – chain
- sc – single crochet
- sc2tog – single crochet 2 together
- sl st – slip stitch
- st(s) – stitch(es)
- rnd – round
- RS / WS – right side / wrong side
- SF – spike fan (special stitch)
Spike Fan (SF), worked over 3 sts: Find the stitch 3 rows below the middle of the next 3 sts. Insert your hook into that stitch, yarn over, and pull up a long loop to the height of the current row. Yarn over and pull through both loops. That is one spike sc. Work 2 more spike sc into the same stitch below. Skip the 3 sts of the current row that sit behind the fan. This makes 3 sts that fan up from one point, forming a triangle that points down.
Color changes: Change color in the last yarn over of the stitch before. Don’t cut the yarn. Carry the unused color loosely up the right edge, as seen from the RS. The seam hides it later.
Gauge and Checkpoints
Gauge: 16 sc × 18 rows = 4 in (10.2 cm) square.
To check gauge, chain 22 and work 21 sc for 22 rows. Measure the center 4 in (10.2 cm). Spike rows are the same height as sc rows, so the row gauge stays the same through the whole body.
Checkpoints:
– After Row 1: 73 sts measure 18¼ in (46.4 cm).
– After Row 8: The panel is about 1¾ in (4.4 cm) tall.
– After Row 68: The panel is about 15⅛ in (38.4 cm) tall.
– After Row 81: The panel is 18 in (45.7 cm) tall.
Measure the flat panel without stretching it. If it is more than ½ in (1.3 cm) too wide, go down half a hook size. If it is too narrow, go up half a hook size. If only the height is off, add or remove taupe rows in the top band. Never change the pattern repeat.

Body Panel
Foundation: With Color A, ch 74.
Row 1 (RS): Sc in the 2nd ch from the hook and in each ch across. Ch 1, turn. (73 sts)
Rows 2–6: Sc across. Ch 1, turn. (73 sts) This is the bottom taupe band, about 1⅓ in (3.4 cm) tall.
At the end of Row 6, change to Color B.
Rows 7–8 (B): Sc across. Ch 1, turn. (73 sts) At the end of Row 8, change to Color A.
Pattern Repeat (12 rows)
All RS rows are odd-numbered. Every spike row falls on a RS row, so the fans always face out.
Rows 9–12 (A): Sc across. Ch 1, turn. (73 sts) At the end of Row 12, change to B.
Row 13 (B, RS): Sc 1, SF over the next 3 sts, sc 1 18 times. Ch 1, turn. (73 sts: 18 fans × 3 + 19 sc) Each fan goes into Row 10, the 2nd taupe row. The fans sit over st 2–4, st 6–8, and so on across the row.
Row 14 (B): Sc across. Ch 1, turn. (73 sts) At the end of the row, change to A.
Rows 15–18 (A): Sc across. Ch 1, turn. (73 sts) At the end of Row 18, change to B.
Row 19 (B, RS): Sc 3, SF over the next 3 sts, sc 1 17 times, sc 2. Ch 1, turn. (73 sts: 3 + 17 × 4 + 2) Each fan goes into Row 16. These fans are shifted 2 sts from the Row 13 fans, which makes the staggered pattern.
Row 20 (B): Sc across. Ch 1, turn. (73 sts) At the end of the row, change to A.
Rows 21–68: Repeat Rows 9–20 four more times, for 5 repeats in all. (73 sts) The panel is now 68 rows, about 15⅛ in (38.4 cm). Change to A at the end of Row 68.
Rows 69–81 (A): Sc across. Ch 1, turn. (73 sts) This is the top taupe band, about 2.9 in (7.4 cm) tall. Fasten off and leave a 24 in (61.0 cm) tail.
Seaming the Tube
Fold the panel with the RS out so the two side edges meet. Thread the long tail onto the needle and join the edges with mattress stitch, row by row from top to bottom. Take half of each edge stitch so the two edge stitches lie together like one stitch. Pull the seam closed so it looks like the fabric but doesn’t pucker.
The seam is the center back. Next to the seam, the spike rows have one spacing that doesn’t match the rest. The strap will cover it later.
Border (Bottom Shaping and Top Rim)
Border gauge: These rounds use the body gauge of 4 sc per 1 in (2.5 cm). When the tube lies flat, each side has exactly half of every round’s count.
Bottom Shaping (Color A)
Turn the tube upside down. Join A at the seam in the foundation chain.
Rnd 1: Sc2tog over the 2 edge loops that meet at the seam. Then sc in each of the other 71 foundation loops. Join with a sl st. (72 sts: 71 sc + 1 sc2tog; 36 per flat side)
Rnd 2: Ch 1, sc 4, sc2tog 12 times. Join. (60 sts; 30 per side)
Rnd 3: Ch 1, sc 3, sc2tog 12 times. Join. (48 sts; 24 per side)
Rnd 4: Ch 1, sc 2, sc2tog 12 times. Join. (36 sts; 18 per side)
Rnd 5: Ch 1, sc 4, sc2tog 6 times. Join. (30 sts; 15 per side)
Rnd 6: Sl st loosely in each st around. (30 sl sts) Fasten off.
The opening is about 2.4 in (6.1 cm) across. That is small enough to hold the bags in but big enough to pull one out.
Top Rim (Color A)
Join A at the seam in Row 81.
Rnd 1: Sc2tog over the 2 edge sts at the seam. Then sc in each of the other 71 sts. Join. (72 sts: 71 sc + 1 sc2tog)
Rnd 2: Sl st in each st around. (72 sl sts) Fasten off.
Why the math works: The flat panel has 73 sts. The seam merges the 2 edge sts into 1, so the tube has 72 working sts, and Rnd 1 matches that with one sc2tog. 72 divides into 12 even decrease repeats of 6 sts. The next rounds take away 12 sts each time until 36 sts are left. Then 6 more decreases leave 30. Because the decreases are spread evenly, the bottom pulls in as a smooth dome with no corners.
Strap (Color A)
Ch 5.
Row 1: Sc in the 2nd ch from the hook and in the next 3 ch. Ch 1, turn. (4 sts)
Rows 2–36: Sc across. Ch 1, turn. (4 sts) Fasten off and leave a 12 in (30.5 cm) tail.
The strap is 1 in (2.5 cm) wide and 8 in (20.3 cm) long. On the inside of the top band, count 9 sts to each side of the seam and mark both spots. Sew the last ¾ in (1.9 cm) of each strap end flat against the inside of the band at the markers. This leaves a loop about 6½ in (16.5 cm) long.
Final Blocking
- Weave in all ends along the seam or inside the taupe bands.
- Lightly mist the whole tube with water.
- Slide a rolled towel inside so the tube keeps its round shape.
- Pat the spike fans so all three spikes in each fan lie flat and evenly spread.
- Shape the bottom into a smooth dome and set the opening to about 2.4 in (6.1 cm).
- Check that the tube is 9 in (22.9 cm) wide when flattened and 19 in (48.3 cm) long.
- Let it dry completely before you take out the towel.
Final Quality-Control Checklist
- Every body row has 73 sts.
- Row 13-type rows have 18 fans, and Row 19-type rows have 17 fans.
- Every fan’s spikes come from one point in the 2nd taupe row below.
- There are 5 full repeats of the 12-row pattern.
- The seam runs straight up the center back.
- The bottom counts are 72, 60, 48, 36, and 30 sts.
- The top rim has 72 sts.
- Both strap ends are sewn the same distance from the seam.
- The holder measures 18 in (45.7 cm) around and 19 in (48.3 cm) long.
Troubleshooting
The spike fans pucker the fabric. The long loops are too short. Pull each loop up to the full height of the current row before you finish the stitch.
The fans look lopsided. Your spikes are going into different stitches below. Put a marker in the center stitch 3 rows down, and work all 3 spikes into that marked stitch.
The color changes leave loose bumps. Carry the unused yarn up the edge without tension, and make sure every color change happens on the right edge.
The bottom opening is too big. Repeat Rnd 5 as sc 3, sc2tog 6 times, which gives 24 sts.
The tube spirals. Your mattress stitches are skipping rows. Undo the seam and match the edges row for row.
Care
Hand wash in cool water, press out the water in a towel, and dry flat while it is stuffed into a round shape. Cotton versions can also go through a gentle machine wash inside a laundry bag.

Final Notes
The sizes all build from the same gauge: 16 sc in 4 in (10.2 cm). That gauge gives a flat panel 18¼ in (46.4 cm) wide. The panel grows to 18 in (45.7 cm) tall over 81 rows. Seamed, it becomes a 72-stitch tube 18 in (45.7 cm) around. The bottom shaping then closes down to a 30-stitch opening and brings the length to 19 in (48.3 cm). Check your gauge first, count each spike row, and the rest of the holder will come out the right size.
Happy crocheting!