This mesh bag holder turns a messy pile of grocery bags into something you will actually enjoy looking at. It is a tall, open tube in dusty mauve with neat square filet holes, crisp cream bands at the top and bottom, a slim hanging strap, and a small cream bow on the front.
You stuff bags in through the top and pull them out one at a time through the bottom. The mesh lets you see how many are left, and the solid cream bands keep both openings firm so the bags don’t spill out on their own.
The pattern is written in US crochet terms. The finished holder measures 6 in (15.2 cm) wide when laid flat, 12 in (30.5 cm) around, and 16 in (40.6 cm) tall, not counting the strap. With the strap, it hangs about 22 in (55.9 cm) from the hook.
Construction is simple. You work the body bottom-up in joined rounds: a cream band, a mauve mesh section, then a cream top band. The strap is a separate single-crochet strip sewn inside the top band, and the bow is assembled from three tiny cream pieces and sewn on last. The photo shows two holders; make one, or repeat everything for a matching pair.
Finished Size and Construction
- Finished size: 6 in (15.2 cm) wide flat x 16 in (40.6 cm) tall; 12 in (30.5 cm) circumference
- Hanging length with strap: about 22 in (55.9 cm)
- Skill level: Easy
- Terminology: US crochet terms
- Yarn weight: Worsted (#4), cotton or cotton blend
- Hook: 5.0 mm (H-8)
- Number of pieces: 1 body tube + 1 strap + 3 small bow parts (no motif joining)
- Layout: single vertical tube, worked in joined rounds
- Mesh section: 24 mesh squares around, 28 rounds tall, 14 in (35.6 cm)
- Size before border (after Rnd 32): 12 in (30.5 cm) around x 15 in (38.1 cm) tall
- Border depth: top band 1 in (2.5 cm), matching the 1 in (2.5 cm) bottom band
Materials
Choose a smooth worsted-weight cotton or cotton blend. Cotton holds the square mesh shape well and doesn’t stretch as much as acrylic once the holder is full of bags. Avoid fuzzy yarns; they blur the holes.
- Color A, dusty mauve: about 100 g / 170 m (body mesh and strap)
- Color B, cream: about 40 g / 68 m (bands, edging and bow)
Quantities are based on a typical worsted cotton of about 170 m per 100 g and include a comfortable margin for your gauge swatch and weaving in.
Tools:
- 5.0 mm (H-8) crochet hook
- Tapestry needle
- 2 stitch markers
- Measuring tape
- Scissors
- Spray bottle and a rolled towel for blocking
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- dc – double crochet
- sp – space
- st(s) – stitch(es)
- rep – repeat
- Rnd – round
- beg – beginning
Special stitch – Mesh unit: (dc, ch 1) worked over 2 stitches, so each mesh unit equals one dc post plus one ch-1 space. In the first mesh round, you skip 1 sc under every ch 1. In later rounds, you skip the ch-1 space and work into the next dc.
Gauge and Checkpoints
- Single crochet: 16 sc and 16 rounds = 4 in (10.2 cm), so 4 sc and 4 rounds per inch
- Mesh: 8 mesh units and 8 rounds = 4 in (10.2 cm), so each square is 0.5 in (1.3 cm)
Test first: Work Rnds 1–12 below and stop to measure. This is your gauge swatch, so you don’t need a separate one.
Checkpoints:
- After Rnd 4 (bottom band): 6 in (15.2 cm) flat, 12 in (30.5 cm) around, 1 in (2.5 cm) tall
- After Rnd 12 (8 mesh rounds): 5 in (12.7 cm) tall overall, still 6 in (15.2 cm) flat
- After Rnd 32 (all mesh): 15 in (38.1 cm) tall
- After Rnd 36 (top band): 16 in (40.6 cm) tall
Too big? Go down to a 4.5 mm hook. Too small? Go up to a 5.5 mm hook. If your width is right but the mesh rounds come out taller than 0.5 in (1.3 cm), keep the hook and work fewer mesh rounds until you reach 15 in (38.1 cm) at the end of the mesh section.

Body: Bottom Band
With Color B (cream):
Foundation: Ch 48. Join with a sl st to the first ch to form a ring, taking care not to twist the chain.
Rnd 1: Ch 1, sc in the same ch as the join and in each ch around. Join with a sl st to the first sc. (48 sc)
Rnds 2–3: Ch 1, sc in each st around, join. (48 sc)
Rnd 4: Ch 1, sc in each st around. For the final join, insert the hook into the first sc, yarn over with Color A, and pull through. Fasten off Color B. (48 sc)
Place a marker at the join. Flatten the tube with the marker at one side fold. You should have 24 sts on each flat side, 6 in (15.2 cm) wide.
Body: Mesh Section
Continue with Color A (mauve).
Rnd 5 (first mesh round): Ch 4 (counts as dc + ch 1), skip the next sc, dc in the next sc, ch 1, skip the next sc; rep from * 22 more times. Join with a sl st to the 3rd ch of the beg ch-4. (24 dc and 24 ch-1 sps = 48 sts; 24 mesh units)*
Rnds 6–32: Ch 4 (counts as dc + ch 1), skip the ch-1 sp, dc in the next dc, ch 1, skip the ch-1 sp; rep from * 22 more times. Join with a sl st to the 3rd ch of the beg ch-4. (Each round: 24 dc and 24 ch-1 sps = 48 sts)*
Work each dc into the top of the dc below so the posts line up in straight columns. That is what gives you the clean square grid.
At the final join of Rnd 32, pull Color B through the last loop and fasten off Color A.
That gives you 28 mesh rounds at 0.5 in (1.3 cm) each, for 14 in (35.6 cm) of mesh. Together with the bottom band, the body now measures 15 in (38.1 cm) tall and 12 in (30.5 cm) around.
Strap
With Color A (mauve):
Row 1: Ch 4, sc in the 2nd ch from the hook and in each remaining ch. (3 sc)
Rows 2–60: Ch 1, turn, sc in each st across. (3 sc)
Fasten off, leaving a 12 in (30.5 cm) tail. The strap is 0.75 in (1.9 cm) wide and 15 in (38.1 cm) long. Leave a matching tail at the starting end too, or join a new length for sewing. You’ll attach the strap after the top band is finished.
Bow Appliqué
Use Color B (cream) for all three parts.
Bow loops:
- Row 1: Ch 13, sc in the 2nd ch from the hook and in each remaining ch. (12 sc)
- Rows 2–4: Ch 1, turn, sc in each st across. (12 sc)
- Fasten off. The rectangle measures 3 in (7.6 cm) x 1 in (2.5 cm).
Bow tails:
- Row 1: Ch 13, sc in the 2nd ch from the hook and in each remaining ch. (12 sc)
- Fasten off. The strip is 3 in (7.6 cm) long.
Center wrap:
- Row 1: Ch 6, sc in the 2nd ch from the hook and in each remaining ch. (5 sc)
- Row 2: Ch 1, turn, sc in each st across. (5 sc)
- Fasten off, leaving an 8 in (20.3 cm) tail. The piece measures 1.25 in (3.2 cm) long.
Assembly:
- Pinch the bow-loop rectangle across its center into two or three small accordion folds. This puffs out the two side loops.
- Fold the tail strip into a V and lay it behind the pinched center so the two tails hang down about 1.5 in (3.8 cm).
- Wrap the center piece around the front of the bow and the tail V, then sew its ends together at the back.
- Shape the loops so they flare outward. The finished bow is about 3 in (7.6 cm) wide and 1.5 in (3.8 cm) tall, not counting the tails.
Border: Top Band and Edge Finish
The border is the cream top band plus a slip-stitch firming round on both open edges. Border gauge is the same as the bottom band: 16 sc = 4 in (10.2 cm), with 4 rounds to the inch.
Rnd 33 (conversion round): With Color B, ch 1, sc in the same st as the join, sc in the next ch-1 sp, sc in the next dc, sc in the next ch-1 sp; rep from * 22 more times. Join with a sl st to the first sc. (24 sc worked into dc + 24 sc worked into ch-1 sps = 48 sc; 24 per flat side)*
Rnds 34–36: Ch 1, sc in each st around, join. (48 sc; 24 per flat side)
Rnd 37 (top edge): Sl st loosely in each st around, then join. (48 sl sts; 24 per flat side) Fasten off.
Bottom edge: Turn the holder upside down. Join Color B in any free loop of the foundation chain and sl st loosely in each free loop around. Join and fasten off. (48 sl sts; 24 per flat side)
Why the math works: Each mesh unit is 2 sts wide, and 24 units x 2 = 48 sts. That’s exactly the bottom band’s count and exactly 12 in (30.5 cm) at 4 sc per inch. Working 1 sc into every dc and 1 sc into every ch-1 sp gives the top band the same 48 sts as the bottom band, so neither end ruffles or cinches. The slip-stitch rounds sit on top of the existing 48 sts, firm up the openings, and add no measurable height. The top band brings the body from 15 in (38.1 cm) to 16 in (40.6 cm).
Attach the strap: Flatten the holder with the round joins at one side fold. Count 24 sts around the top band to find the opposite fold, and mark both folds. Lay the last 3 rows of one strap end, 0.75 in (1.9 cm), flat against the inside of the band at one fold, centered on the fold. Whipstitch all four edges through the band. Repeat at the other fold with the other end, keeping the strap untwisted. That leaves 13.5 in (34.3 cm) of free strap, which rises about 6 in (15.2 cm) above the top edge when hung.
Attach the bow: Center the bow on the front face, with its top edge 0.5 in (1.3 cm) below the cream band. Sew it on through the dc posts behind it so the stitches don’t show through the mesh holes.
Final Blocking
- Weave in all ends along dc posts or inside the bands. Leave the ends untrimmed for now.
- Lightly mist the whole holder with water until it’s damp but not dripping.
- Roll a bath towel into a firm tube about 12 in (30.5 cm) around and slide the holder over it.
- With your fingers, nudge the dc posts into straight vertical columns and square up the holes.
- Check the measurements: 6 in (15.2 cm) flat and 16 in (40.6 cm) tall.
- Pin or weight the strap flat at 0.75 in (1.9 cm) wide, and shape the bow loops.
- Let it dry completely, then trim the woven-in ends.
Final Quality-Control Checklist
- Every mesh round has 24 dc and 24 ch-1 sps
- Both cream bands have 48 sc and measure 1 in (2.5 cm) deep
- Body measures 6 in (15.2 cm) flat and 16 in (40.6 cm) tall
- Dc posts line up in straight columns with square holes
- Strap ends sit exactly opposite each other, 24 sts apart, and the strap isn’t twisted
- Strap is sewn securely on all four edges at each end
- Bow is centered, 0.5 in (1.3 cm) below the top band
- No loose ends show through the mesh
Troubleshooting
Mesh holes look like rectangles, not squares. Your dc is too tall or your ch-1 is too tight. Try a slightly looser chain, or switch to a ch-1 that you pull up a little higher.
The tube twists into a spiral. The round joins are drifting. Join each round into the 3rd ch of the beg ch-4, not into the ch-1 space.
The top band ruffles or pulls in. Count Rnd 33. It must be exactly 48 sc, with 1 sc in each dc and 1 sc in each space.
Bags slide out by themselves. Your bottom band is loose. Rework the bottom slip-stitch round more snugly, or add one more sc round to the bottom band before the slip-stitch edge.
The strap stretches over time. Cotton relaxes under weight. Sew the ends with a 4 row overlap instead of 3, or work the strap with a hook one size smaller.
Care
Hand wash or machine wash in cool water on a gentle cycle, then reshape and dry flat over a rolled towel. Avoid hanging it to dry while it’s wet, because the weight will lengthen the mesh.

Final Notes
Everything in this holder comes back to one number: 48. The foundation ring sets 48 sc at 4 per inch, which gives you 12 in (30.5 cm) around and 6 in (15.2 cm) flat. That count divides into 24 mesh units of 0.5 in (1.3 cm), and 28 mesh rounds add 14 in (35.6 cm) of mesh. The conversion round returns you to exactly 48 sc, and the two 1 in (2.5 cm) bands bring the total height to 16 in (40.6 cm). A 15 in (38.1 cm) strap, sewn in at opposite folds, lets it hang about 22 in (55.9 cm) from the hook. Check your gauge at the first checkpoint, and the rest will fall into place.
Happy crocheting!