This plastic bag holder adds some charm to a practical kitchen job. A long diamond-lattice tube holds a stash of grocery bags, a solid band at the bottom lets you pull them out one at a time, and a full ruffle frames the top opening. A flat strap rises from inside the top so it hangs neatly from a cabinet hook or door knob.
The sample is shown in two colorways: soft butter yellow and deep raspberry. Each holder is worked in one solid color. The open mesh lets the white bags show through, so the diamond pattern stands out clearly. The look is a little retro and farmhouse, and it works up quickly.
The pattern uses US crochet terms. The finished holder measures 5.7 in (14.5 cm) wide laid flat and 16.25 in (41.3 cm) tall including the ruffle. The strap adds a hanging loop about 5 in (12.7 cm) high.
Construction is simple and seamless. You start at the bottom with a chain ring and work solid single crochet rounds. Then you switch to chain-loop mesh rounds for the body, close the top with three solid rounds, and add the ruffle. The strap is worked directly onto the inside of the top band, so the holder stays one piece.
Finished Size and Construction
- Finished size: 5.7 in (14.5 cm) wide flat × 16.25 in (41.3 cm) tall
- Circumference: 11.4 in (29.0 cm)
- Skill level: Easy / Advanced Beginner
- Terminology: US crochet terms
- Yarn weight: Worsted / Medium (#4) cotton
- Hook: 5.0 mm (US H-8)
- Number of pieces: 1 (one tube with the strap worked on)
- Layout: Single tube, worked in joined rounds from bottom to top
- Piece size before ruffle: 5.7 in (14.5 cm) wide flat × 14.75 in (37.5 cm) tall
- Ruffle (border) depth: 1.5 in (3.8 cm)
- Strap length: 11.4 in (29.0 cm)
Materials
Use a smooth, worsted-weight 100% cotton or a cotton blend. Cotton holds the lattice shape, doesn’t stretch out under the weight of the bags, and survives the wash. Avoid fuzzy or very splitty yarns, because the mesh looks best with clean stitch definition.
Yarn (one holder):
– Color A (Butter Yellow): 85 g / 135 m (148 yd)
Yarn (second holder, optional):
– Color B (Raspberry): 85 g / 135 m (148 yd)
Each holder uses only one color. These quantities include a margin of about 15% for gauge differences and swatching.
Tools:
– 5.0 mm (US H-8) crochet hook
– 2 stitch markers
– Tapestry needle
– Scissors
– Tape measure
– Rolled towel or a 2-liter bottle wrapped in a towel (for blocking)
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- dc – double crochet
- st(s) – stitch(es)
- FLO – front loop only
- BLO – back loop only
- ch-5 loop – the space under a chain of 5
- rnd(s) – round(s)
Special technique – Moving to loop center: Sl st into each of the next 3 ch of the ch-5 loop. Your hook is now at the center chain of that loop, ready to start the next mesh round.
Gauge and Checkpoints
Solid gauge: 14 sc and 16 rnds = 4 in (10.2 cm), worked in the round.
Mesh gauge: 4 mesh rnds = 3 in (7.6 cm), lightly stretched lengthwise.
Treat the bottom band as your gauge swatch. Work Rnds 1–8 first and measure before you continue.
Checkpoints:
1. After Rnd 1: The ring lies flat without twisting and is 11.4 in (29.0 cm) around.
2. After Rnd 8: The band is 2 in (5.1 cm) tall and 5.7 in (14.5 cm) wide laid flat.
3. After Rnd 24: The piece is 14 in (35.6 cm) tall when hung and lightly stretched.
4. After Rnd 27: The piece is 14.75 in (37.5 cm) tall, and the top band is still 5.7 in (14.5 cm) wide flat.
5. After Rnd 30: The ruffle stands about 1.5 in (3.8 cm) deep.
If your band is too wide (more than 6 in / 15.2 cm flat), go down to a 4.5 mm hook. If it is too narrow (less than 5.5 in / 14.0 cm flat), go up to a 5.5 mm hook. Don’t change the stitch count. The mesh depends on 40 sts, which divide into 10 loops.

Pattern
Bottom Band
Foundation: Ch 40. Sl st to the first ch to form a ring. Check that the chain isn’t twisted.
Rnd 1: Ch 1, sc in each ch around, sl st to the first sc to join. (40 sc)
Place a marker in the first st of each round.
Rnds 2–8: Ch 1, sc in each st around, sl st to the first sc to join. (40 sc)
The bottom band now measures 2 in (5.1 cm) tall. The lower edge stays open. This is the opening the bags are pulled through.
Diamond Mesh Body
Rnd 9 (conversion to mesh): Ch 1, sc in the first st, ch 5, skip 3 sts, sc in the next st. Repeat from * 8 more times, then ch 5, skip the last 3 sts, sl st to the first sc. (10 sc + 10 ch-5 loops)
Check: 10 repeats × 4 sts covered = 40 sts, which uses the full band.
Rnd 10: Move to the loop center (sl st in each of the next 3 ch). Ch 1, sc in the same loop, ch 5, sc in the next ch-5 loop. Repeat from * 8 more times, then ch 5, sl st to the first sc. (10 sc + 10 ch-5 loops)
Rnds 11–24: Repeat Rnd 10. (10 sc + 10 ch-5 loops each round)
Each sc sits in the center of a loop from the round below, so the loops offset by half a loop each round. This creates the diamond lattice. The start of each round moves slightly to one side as you go. That is expected, and the shift is invisible in the finished mesh.
You have 16 mesh rounds (Rnds 9–24), which measure about 12 in (30.5 cm) when hung.
Top Band
At the end of Rnd 24, the hook sits at the first sc of that round.
Rnd 25 (conversion to solid): Ch 1, sc in the same st, 3 sc in the next ch-5 loop, sc in the next sc, 3 sc in the next ch-5 loop. Repeat from * around, then sl st to the first sc. (10 sc worked 1-per-existing sc + 30 sc worked into loops = 40 sc)
Rnds 26–27: Ch 1, sc in each st around, sl st to the first sc to join. (40 sc)
The top band measures 0.75 in (1.9 cm). The piece now measures 14.75 in (37.5 cm) tall and 5.7 in (14.5 cm) wide flat. Don’t fasten off.
Border: Ruffle Top
Border gauge: Each dc round of the ruffle is about 0.6 in (1.5 cm) tall, and the sc edge adds about 0.3 in (0.8 cm). The ruffle is about 1.5 in (3.8 cm) deep.
The ruffle is worked into the front loops of Rnd 27. The back loops stay free inside the tube for the strap.
Counts per side are given with the tube laid flat, so each round splits evenly between the front and back halves.
Rnd 28 (FLO): Ch 3 (counts as dc), dc in the same st, 2 dc in each remaining st around, sl st to the top of the ch-3. (80 dc: 40 per side)
Rnd 29: Ch 3 (counts as dc), dc in the same st, dc in the next st, 2 dc in the next st, dc in the next st. Repeat from * around, then sl st to the top of the ch-3. (120 dc: 60 per side)
Rnd 30: Ch 1, sc in each st around, sl st to the first sc. (120 sc: 60 per side)
Fasten off and weave in the ends.
Why the math works: The band has 40 sts (20 per side). Doubling to 80 gives the ruffle its first strong flare. Increasing by half again, from 80 to 120, adds 40 sts, or 1 increase for every 2 sts, so the edge spreads evenly into deep waves. The final sc round keeps the edge firm without adding any stitches, so the waves hold their shape. Because every round is an even number, the ruffle splits equally between the front and back halves.
Hanging Strap
Turn the holder so the inside of the top band faces you. The free back loops of Rnd 27 make a clear ridge.
- Join yarn with a sl st in the free back loop of st 1 of Rnd 27.
- Ch 40.
- Count 20 sts around from st 1 and sl st in the free back loop of st 21. This point is directly opposite, so the strap splits the band into two halves of 20 sts.
- Sl st in the free back loop of st 22. Turn.
- Sc in each ch across. (40 sc)
- Sl st in the free back loop of st 2. Fasten off.
The strap is a flat band two layers thick, 11.4 in (29.0 cm) long, attached at both ends. It rises about 5 in (12.7 cm) above the ruffle when hung. Weave in the ends securely, going back and forth through the back loops, because this point carries all the weight.
Final Blocking
- Wet the holder in cool water and gently squeeze out the excess. Don’t wring it.
- Roll it in a towel to remove more water.
- Slide the holder over a towel-wrapped 2-liter bottle or a tightly rolled towel about 3.5 in (8.9 cm) across, so the tube stays round.
- Gently pull the mesh lengthwise until the body measures 12 in (30.5 cm) and the diamonds look even.
- Fluff the ruffle with your fingers so the waves alternate up and down evenly around the opening.
- Lay the strap flat and straighten it.
- Let it dry completely, then measure: 5.7 in (14.5 cm) wide flat and 16.25 in (41.3 cm) tall.
Final Quality-Control Checklist
- [ ] The bottom band has 40 sc in every round and lies flat, with no flaring or puckering.
- [ ] Each mesh round has exactly 10 loops.
- [ ] Every mesh sc sits in the center of a loop, and the diamonds look even.
- [ ] Rnd 25 has exactly 40 sc.
- [ ] The ruffle counts are 80, 120, and 120.
- [ ] The strap is anchored at sts 1 and 21, directly opposite each other.
- [ ] All ends are woven in securely, especially at the strap.
- [ ] Finished size: 5.7 in (14.5 cm) wide × 16.25 in (41.3 cm) tall.
Troubleshooting
The bottom band flares or puckers. Count your stitches. You should have 40 in every round. If the count is right, change your hook size as described in the gauge section.
The mesh looks uneven or twisted. Make sure each sc goes into the loop space, not into a single chain. Check that you moved to the loop center with exactly 3 sl sts.
There are too many or too few loops. Count after every mesh round. Ten sc anchors means ten loops. If you have more or fewer, rip back to the last correct round.
The ruffle curls inward. You may have worked into both loops of Rnd 27. Make sure Rnd 28 goes into the front loops only, and use a looser tension on the dc.
The ruffle is flat instead of wavy. You probably missed increases. Recount Rnd 29 to confirm 120 sts.
The strap pulls the top out of shape. Check that it is anchored at opposite points, sts 1 and 21. If the holder still tilts, add a few reinforcing stitches with the tapestry needle at each end.
Bags slip out of the bottom. The bottom band is supposed to hold them. If yours is loose, work 1 or 2 extra sc rounds there with a hook one size smaller.
Care
Machine wash cold on a gentle cycle and lay flat or hang to dry, reshaping the ruffle while it is damp. Avoid high heat in the dryer, which can shrink cotton and flatten the waves.

Final Notes
Here is the full measurement chain in one place:
- The bottom band is 40 sc around: 11.4 in (29.0 cm) circumference, 5.7 in (14.5 cm) wide flat.
- 8 solid rounds give 2 in (5.1 cm).
- 16 mesh rounds of 10 loops each add 12 in (30.5 cm).
- The 3-round top band adds 0.75 in (1.9 cm), for a body height of 14.75 in (37.5 cm).
- The 3-round ruffle (80, 120, and 120 sts) adds 1.5 in (3.8 cm), for a total height of 16.25 in (41.3 cm).
- The 40-st strap hangs it all from a hook.
If your gauge matches at the bottom band, everything above it follows. Once you’ve made one, try a second holder in another color for a matching pair.
Happy crocheting!