This holiday plastic bag holder is a tall filet crochet tube in deep forest green and cream. Three columns of Christmas trees run around the body, with three trees stacked in each column. Each tree is made of solid green blocks on an open grid, with cream blocks filling the stepped spaces beside it. Hang it from a cabinet knob and it keeps your grocery bags tidy all season.
Solid green bands frame the top and bottom, each finished with a beaded cream edge. The bottom turns inward to a small opening, so bags pull out one at a time from below. You add new bags through the top, under a rounded strap handle.
The pattern uses US crochet terms. The finished holder is 16 in (40.6 cm) around, about 5.1 in (13.0 cm) across and about 18.2 in (46.2 cm) tall. The handle rises about 4 in (10.2 cm) above the rim.
You work the holder in one piece, from the bottom up, in joined rounds that are never turned. First you crochet a cream inward lip and a green band. Then you work 24 rounds of filet colorwork, a green band and a cream rim. You finish with the strap handle and a beaded edge on the bottom opening.
Finished Size and Construction
- Finished size: 16 in (40.6 cm) around × 18.2 in (46.2 cm) tall, plus a handle arch of about 4 in (10.2 cm)
- Skill level: Intermediate (filet crochet with two colors)
- Terminology: US crochet terms
- Yarn weight: Worsted (#4) cotton or cotton blend
- Hook: 4.5 mm (US 7)
- Number of pieces: 1 (seamless tube with a built-in handle)
- Layout: 24 filet blocks around; 3 tree panels of 8 blocks each; 3 trees stacked in each panel
- Tree panel size: 8 blocks = about 5.3 in (13.5 cm) wide and 8 rounds = about 5.3 in (13.5 cm) tall
- Size before border: 17.2 in (43.7 cm) tall after Rnd 33
- Border depth: top cream rim about 0.4 in (1.0 cm); bottom beaded edge about 0.2 in (0.5 cm)
Materials
Use a smooth, firm worsted cotton. It holds the grid square and doesn’t stretch out under the weight of the bags. The amounts below assume 100 g = about 180 m (197 yd).
- Color A, forest green: 150 g, about 270 m (295 yd)
- Color B, cream: 75 g, about 135 m (148 yd)
These amounts include a margin of about 15%. Cream uses more yarn than its block count suggests, because you carry it through five rounds of every tree.
Tools:
– 4.5 mm (US 7) crochet hook
– Stitch marker
– Tapestry needle
– Scissors
– Measuring tape
– Blocking mat, rust-proof pins and a spray bottle
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- dc – double crochet
- sk – skip
- sp – space
- st(s) – stitch(es)
- FLO / BLO – front loop only / back loop only
- rev sc – reverse single crochet (crab stitch): working left to right, insert the hook into the next stitch to the right, yarn over, pull up a loop, yarn over and draw through both loops.
- Rnd – round
Filet blocks. Each block is 3 sts: 1 green post dc plus 2 fill sts. The post comes first, then the fill. The next block’s post closes the block.
- Open block (O): green post dc, ch 2, sk 2 sts (or sk the ch-2 sp).
- Green block (G): green post dc, then 2 green dc (in the next 2 dc, or 2 dc in the ch-2 sp below).
- Cream block (C): green post dc, then 2 cream dc, worked the same way as a green block.
Color change: Work the last yarn-over of the stitch before the change in the new color. Work your dc over the strand you aren’t using, so it stays hidden inside the stitches.
Gauge and Checkpoints
Sc gauge: 18 sc and 20 rnds = 4 in (10.2 cm).
Filet gauge: 6 blocks and 6 rnds = 4 in (10.2 cm). One block is about 2/3 in (1.7 cm) square.
The sc and filet gauges use the same number of stitches per inch: 4.5 sts per inch, or 72 sts = 16 in (40.6 cm). That’s why the sc bands and the filet body come out the same width.
Test swatch first. Ch 21. For Row 1, dc in the 4th ch from the hook and in each ch across. That gives 19 sts: the skipped ch-3 plus 18 dc, which makes 6 filled blocks. For Rows 2–6, ch 3 and turn, then alternate open and filled blocks across. Block the swatch lightly and measure it. It should be 4 in (10.2 cm) wide and 4 in (10.2 cm) tall.
Checkpoints:
– After Rnd 6: the band measures 16 in (40.6 cm) around and about 1.2 in (3.0 cm) tall.
– After Rnd 14: the first tree is complete and the filet section is about 5.3 in (13.5 cm) tall.
– After Rnd 30: the filet section is 16 in (40.6 cm) tall.
– After Rnd 35: the tube is about 18.2 in (46.2 cm) tall.
If your swatch is too big, go down half a size to 4.0 mm. If it is too small, go up to 5.0 mm. If the filet blocks are taller than they are wide, keep the hook size and draw up your dc loops a little shorter.

Bottom Lip and Lower Band
Rnd 1 (B): Ch 36 and sl st to the first ch to form a ring, taking care not to twist. Ch 1, then sc in each ch around and sl st to the first sc. (36 sts)
This ring is the bottom opening: 8 in (20.3 cm) around and about 2.6 in (6.6 cm) across.
Rnd 2 (B): Ch 1. *Sc in next st, 2 sc in next st; repeat from * 18 times. Sl st to the first sc. (54 sts)
Rnd 3 (B): Ch 1. *Sc in next 2 sts, 2 sc in next st; repeat from * 18 times. Sl st to the first sc. (72 sts) Change to A on the joining sl st and cut B.
Rnds 4–6 (A): Ch 1, sc in each st around and sl st to the first sc. (72 sts)
From Rnd 4 on, the tube grows straight up and Rnds 1–3 fold in to form the lip. Place a marker in the joining st to keep track of where each round starts.
Filet Tree Body
Rnd 7 (setup into sc): Ch 3 (counts as the first post dc), then work Chart Row 1. Over the sc base, work each block like this:
– Open block: ch 2, sk 2 sc, dc in next sc.
– Filled block: dc in next 2 sc, then dc in next sc.
End with the fill of block 24 and sl st to the top of the beginning ch-3. That ch-3 is the closing post. (24 posts + 48 fill sts = 72 sts)
Every filet round after that: Ch 3 (counts as the first post) and work around, putting each post dc on the post dc below. Then work 8 blocks of the chart row 3 times around. End with a sl st to the top of the beginning ch-3. Each round is 72 sts: 24 blocks.
Chart. Read each row right to left. Each row is one round, with 8 blocks per panel. Block 1 of each panel is the separator column and is always open.
| Row | Blocks 1–8 | Per round (O / C / G) |
|---|---|---|
| 1 | O · O O O G O O O | 21 / 0 / 3 |
| 2 | O · G G G G G G G | 3 / 0 / 21 |
| 3 | O · C G G G G G C | 3 / 6 / 15 |
| 4 | O · C C G G G C C | 3 / 12 / 9 |
| 5 | O · C G G G G G C | 3 / 6 / 15 |
| 6 | O · C C G G G C C | 3 / 12 / 9 |
| 7 | O · C C C G C C C | 3 / 18 / 3 |
| 8 | O · O O O O O O O | 24 / 0 / 0 |
Row 1 is the trunk, Row 2 is the wide base of the tree and Rows 3–7 are the two tiers. Each row’s counts add up to 24 blocks, so every round has 72 sts.
Rnds 7–14: Work Chart Rows 1–8.
– On Row 3, join B at the first cream block, leaving a 6 in (15.2 cm) tail.
– Carry B through Rows 3–7, working the green sts over it.
– Across each one-block open separator, let B float loosely on the inside of the tube.
– At the end of Row 7, cut B and weave in the end later.
Rnds 15–22: Work Chart Rows 1–8 again.
Rnds 23–30: Work Chart Rows 1–8 a third time.
You now have 3 stacked trees in each panel and 9 trees in total. All 72 sts are present on every round.
Upper Band
Rnd 31 (A): Ch 1, then sc in each st around: 1 sc in each post dc, 1 in each dc and 1 in each ch. Sl st to the first sc. (72 sts)
Since Rnd 30 is all open blocks, Rnd 31 puts 1 sc in each post dc (24) and 2 sc in each ch-2 sp (48), for a total of 72.
Rnds 32–33 (A): Ch 1, sc in each st around and sl st to the first sc. (72 sts) Don’t cut A yet.
Border
The cream rims finish both openings and keep them from stretching. They use the sc gauge: 18 sts = 4 in (10.2 cm).
Top rim
Rnd 34 (B): Change to B on the join. Ch 1, then sc in the FLO of each st around and sl st to the first sc. (72 sts)
This leaves the back loops of Rnd 33 free on the inside of the tube for the handle. Cut A.
Rnd 35 (B): Ch 1, then rev sc in each st around and sl st to the first st. (72 sts) Fasten off.
Bottom edge
Bottom Rnd (B): Turn the tube upside down. Join B in a free loop of the foundation chain of Rnd 1. Ch 1, then rev sc in each of the 36 loops and sl st to the first st. (36 sts) Fasten off.
Why the math works. The body round is 72 sts, which is 24 blocks of 3 sts. At 4.5 sts per inch, 72 sts gives exactly 16 in (40.6 cm). The top rim works 1 st into each of those 72 sts, so it adds no fullness and doesn’t ruffle. The bottom edge works 1 st into each of the 36 foundation loops, so the opening stays at 8 in (20.3 cm) around.
Handle
The handle is worked straight off the inside of the rim and sewn to the opposite side, so the holder stays one piece.
Row 1: With the inside of the tube facing you, join A in the free back loop of Rnd 33 st 1. Ch 1, then sc in the same BLO and in the next 7 BLO. (8 sts)
Rows 2–55: Ch 1 and turn, then sc in each st across. (8 sts)
The strap is now about 11 in (27.9 cm) long and 1.8 in (4.6 cm) wide. Leave a 24 in (61.0 cm) tail when you fasten off.
Shape the strap: Fold the strap in half lengthwise. Whipstitch the long edges together along Rows 3–53. This makes a rounded cord about 0.9 in (2.3 cm) wide. Leave both ends flat.
Attach the strap: Count 36 sts from st 1, then find the free back loops of Rnd 33 sts 37–44, directly opposite. Sew Row 55 to those 8 loops, one stitch to one loop. Make sure the strap isn’t twisted.
The handle should arch about 4 in (10.2 cm) above the rim.
Final Blocking
- Weave in all ends inside the filled blocks, following the yarn path of the stitches.
- Mist the tube until it is evenly damp.
- Roll a towel into a cylinder about 5.1 in (13.0 cm) across and slide the tube over it.
- Line up the grid so the posts run straight from bottom to top and the holes are square.
- Check the measurements: 16 in (40.6 cm) around and 18.2 in (46.2 cm) tall.
- Pin the handle into a smooth arch over a rolled sock and let everything dry completely.
Final Quality-Control Checklist
- Every filet round has 72 sts, and the posts line up vertically.
- There are 9 trees in total, 3 per column, each with a one-block trunk.
- Cream appears only in Rows 3–7 of each tree, and no cream floats show on the outside.
- The top and bottom bands are 72 sts each and lie flat without ruffling.
- The bottom opening is 8 in (20.3 cm) around.
- The handle is centered across the opening, with its ends 36 sts apart.
Troubleshooting
- The grid slants into a spiral: You probably skipped or added a stitch at the join. Count each round’s 24 posts before you join.
- Cream shows through green blocks: Keep the carried strand at the back of the stitch, and tug it gently after every few blocks.
- The holes are rectangles, not squares: Your dc are too tall. Draw the first loop up shorter, or try a different hook.
- The rim flares out: Your rev sc is too loose. Work Rnd 35 with a hook half a size smaller.
- Bags drop out on their own: Work one extra cream round in sc2tog every third st around the bottom edge. That gives 24 sc2tog + 12 sc = 36 sts, then 24 sts… instead, rework Rnd 1 with ch 30 (30 sts) for a tighter opening.
Care
Hand wash the holder in cool water and lay it flat to dry. Reshape it over a rolled towel while it is still damp.

Final Notes
Every measurement in this pattern follows from one gauge of 4.5 sts per inch:
– 72 sts = 24 blocks = 16 in (40.6 cm) around.
– 24 filet rounds = 16 in (40.6 cm) tall.
– The sc bands add 2.2 in (5.6 cm), for a total height of 18.2 in (46.2 cm).
– The 36 st bottom opening is 8 in (20.3 cm) around.
– The 8 st strap spans 36 sts across the top.
Check your swatch, count your posts and let the trees grow. Happy crocheting!