This lantern-shaped bag holder turns a messy pile of grocery bags into something you will actually want to hang in your kitchen. It has a narrow top band, a full, rounded belly, and a snug bottom band. You stuff bags in at the top and pull them out one at a time at the bottom.
The body is an open diamond mesh divided by eight raised vertical ribs. The ribs run from band to band and give the holder its lantern look. The sample uses one color, a deep plum or eggplant cotton, which stands up well to daily use and looks good against white cabinets.
All instructions use US crochet terms. The finished holder is about 12.5 in (31.8 cm) tall, not counting the hanging loop, and about 8 in (20.3 cm) across at the widest point when filled. The bottom opening is about 3.8 in (9.7 cm) across and the top opening is about 5.1 in (13.0 cm) across.
You work the holder bottom-up in joined rounds as one seamless piece. Start with the bottom band, then work 21 mesh rounds, then the top band. The shape comes only from the chain lengths in the mesh, so the stitch counts stay the same all the way up. A short sc strap is sewn inside the top band as a hanging loop.
Finished Size and Construction
- Finished size: 12.5 in (31.8 cm) tall; about 25 in (63.5 cm) around the belly when filled
- Skill level: Easy-intermediate
- Terminology: US crochet terms
- Yarn weight: Worsted (#4), cotton or cotton blend
- Hook: 4.5 mm (US 7)
- Number of pieces: 1 body plus 1 hanging strap
- Layout: 8 identical vertical sections, each made of 1 rib and 1 mesh panel
- Section size at the bands: 9 sc, 2 in (5.1 cm) wide
- Size before top band: 11.5 in (29.2 cm) tall
- Top band depth: 1 in (2.5 cm)
Materials
Use a smooth worsted-weight cotton or cotton blend. Cotton holds its shape when the holder is half empty and doesn’t stretch out under the weight of the bags. Avoid fuzzy or very splitty yarns, because the long chains in the mesh need to stay crisp.
- Plum (deep purple): 130 g, about 220 m
Tools:
- 4.5 mm (US 7) crochet hook
- 1 stitch marker
- Tapestry needle
- Scissors
- Measuring tape
- A large balloon or a bundle of plastic bags for blocking
- Spray bottle with water
The yarn amount includes a margin of about 15 percent for your gauge swatch and for any rounds you need to redo.
Abbreviations (US Terms)
- ch: chain
- sc: single crochet
- dc: double crochet
- sl st: slip stitch
- st(s): stitch(es)
- sk: skip
- beg: beginning
- rep: repeat
- ch-N loop: a chain loop of N chains (N changes as the body is shaped)
- half loop: the shorter ch-H loop at each edge of a mesh panel
Special technique (rib): Each rib is 2 dc worked into the 2 dc of the rib below. At the start of a round, ch 3 counts as the first dc of the first rib.
Gauge and Checkpoints
- Sc gauge: 18 sc and 20 rounds = 4 in (10.2 cm)
- Mesh gauge: 4 mesh rounds = 2 in (5.1 cm) measured along a rib, so each mesh round is 0.5 in (1.3 cm) tall
Test your gauge before you commit to the whole holder. Work Rounds 1–8 and check them against the first checkpoint below. Keep checking the later ones as you go:
- After Round 5 (bottom band): 1 in (2.5 cm) tall
- After Round 12: 4.5 in (11.4 cm) tall, about 22 in (55.9 cm) around
- After Round 20 (end of belly): 8.5 in (21.6 cm) tall, about 25 in (63.5 cm) around
- After Round 26 (end of mesh): 11.5 in (29.2 cm) tall
- Finished: 12.5 in (31.8 cm) tall
If your sc band is too big, go down a hook size. If it’s too small, go up a size. If the band is right but the body is too tall, pull your dc up a little less high. If it’s too short, pull them up taller. If the belly bulges too much, make every N and H value 1 chain shorter. If the belly looks flat, make them 1 chain longer.

Bottom Band
Ch 54, sl st to the first ch to form a ring. Be careful not to twist the chain.
Round 1: Ch 1, sc in each ch around, sl st to first sc. (54 sc)
Round 2: Ch 1, sc in each st around, sl st to first sc. (54 sc)
Round 3 (conversion round): Ch 1, *sc in next 2 sts, 2 sc in next st; rep from * 17 more times, sl st to first sc. (54 sc worked 1-per-stitch + 18 extra sc = 72 sc)
Rounds 4–5: Ch 1, sc in each st around, sl st to first sc. (72 sc)
The bottom edge is now a firm 54-st ring, 12 in (30.5 cm) around. It holds the bags in until you tug one out. The 72-st round divides into 8 sections of 9 sts: 2 sts for a rib and 7 sts for a panel.
Mesh Body
The mesh alternates between two kinds of rounds:
- X-round: In each section, 2 dc, then 4 ch-N loops held by 3 sc. Totals: 16 dc, 24 sc, 32 loops.
- Y-round: In each section, 2 dc, then ch-H, 4 sc with 3 ch-N loops between them, then ch-H. Totals: 16 dc, 32 sc, 24 full loops, 16 half loops.
Each sc goes into the center space of a loop from the round below. This staggers each round against the last one and creates the diamond net.
Round 6 (setup X-round, N = 3): Ch 3 (counts as dc), dc in next sc, [ch 3, sk 1 sc, sc in next sc] 3 times, ch 3, sk 1 sc, dc in next 2 sc; rep from * 6 more times, ending last rep at *, sl st to top of beg ch-3. (16 dc, 24 sc, 32 ch-3 loops)
Check the panel math. In each section, sk 1, sc, sk 1, sc, sk 1, sc, sk 1 uses exactly 7 sc, so the next 2 dc land on the next 2 sc.
Y-round (all odd rounds 7–25): Ch 3 (counts as dc), dc in next dc, ch H, sc in next loop, [ch N, sc in next loop] 3 times, ch H, dc in next 2 dc; rep from * 6 more times, ending last rep at *, sl st to top of beg ch-3. (16 dc, 32 sc, 24 ch-N loops, 16 ch-H half loops)
X-round (all even rounds 8–26): Ch 3 (counts as dc), dc in next dc, ch N, sk half loop, sc in next full loop, [ch N, sc in next full loop] 2 times, ch N, sk half loop, dc in next 2 dc; rep from * 6 more times, ending last rep at *, sl st to top of beg ch-3. (16 dc, 24 sc, 32 ch-N loops)
Use these values for N and H:
| Rounds | Type | N | H |
|---|---|---|---|
| 7–8 | Y, X | 4 | 2 |
| 9–10 | Y, X | 5 | 3 |
| 11–12 | Y, X | 6 | 3 |
| 13–20 | Y, X, Y, X, Y, X, Y, X | 7 | 4 |
| 21–22 | Y, X | 6 | 3 |
| 23–24 | Y, X | 5 | 3 |
| 25–26 | Y, X | 4 | 2 |
That’s 21 mesh rounds in total, Rounds 6–26. The rib stitches never change. Only the chains get longer and then shorter, which pushes the panels out through the belly and draws them back in toward the top.
Pull each dc up firmly so the ribs stand as straight, raised columns. If you place a stitch marker in the first dc of each round, it’s easy to spot a missed rib.
Once you are past Round 12, slip a few bags inside. The extra weight lets you see the lantern shape while you work.
Top Band (Border)
The top band is the only edging on this piece. Its gauge matches the bottom band: 18 sc = 4 in (10.2 cm).
Round 27 (conversion round): Ch 1, *sc in each of next 2 dc, [sc in next loop, sc in next sc] 3 times, sc in next loop; rep from * 7 more times, sl st to first sc. (40 sc worked 1-per-existing-stitch + 32 sc worked into the loops = 72 sc)
Each section now has 9 sc: 2 over the rib, 3 over the panel sc, and 4 in the loops.
Rounds 28–31: Ch 1, sc in each st around, sl st to first sc. (72 sc)
Fasten off and weave in the end.
Why the math works: Round 26 has 8 sections of 2 dc + 3 sc + 4 loops. One sc in every stitch and every loop gives 8 × 9 = 72, the same count as bottom-band Round 5. Because the top band matches the bottom band’s 72 sts, the holder sits straight and doesn’t flare. The top opening is 16 in (40.6 cm) around, roomy enough for a fistful of bags. The 5 band rounds add 1 in (2.5 cm), for a total height of 12.5 in (31.8 cm).
Hanging Strap
Ch 41.
Row 1: Sc in 2nd ch from hook and in each ch across, turn. (40 sc)
Rows 2–3: Ch 1, sc in each st across, turn. (40 sc)
Fasten off, leaving a 12 in (30.5 cm) tail. The strap is about 8.9 in (22.6 cm) long and 0.6 in (1.5 cm) wide.
Fold the strap in half. Place both ends inside the top band at the center back, lined up with a rib, overlapping the band by 1 in (2.5 cm). Sew the ends securely through all 5 band rounds. The loop rises about 4.4 in (11.2 cm) above the band.
Final Blocking
- Lightly dampen the holder with the spray bottle, or soak it briefly and press the water out in a towel.
- Put a balloon inside the holder and inflate it until the belly measures 25 in (63.5 cm) around. You can also pack the holder firmly with plastic bags.
- Straighten each rib so it runs straight from the bottom band to the top band.
- Gently open each diamond with your fingers so the loops look even.
- Pinch the top and bottom bands into neat circles.
- Let it dry completely.
- Remove the balloon and attach the strap if you haven’t already.
Final Quality-Control Checklist
- 8 ribs, each 2 dc wide, run unbroken from Round 6 to Round 26.
- Every panel alternates between 4 loops and 3 full loops + 2 half loops.
- The bottom ring has 54 sc and the top band has 72 sc.
- The height is 12.5 in (31.8 cm) and the belly is about 25 in (63.5 cm) around.
- The strap is centered over a rib and sewn through all band rounds.
- All ends are woven in along the ribs or bands, where they won’t show.
Troubleshooting
Ribs spiral or lean. You probably skipped a half loop or added an extra one. Count 4 sc per panel on Y-rounds and 3 sc per panel on X-rounds.
Mesh looks uneven. Make sure every sc goes into the loop’s center space, not into a chain stitch.
Belly is lopsided. Check that N and H changed on the same round in all 8 sections.
Bags fall out of the bottom. Work Round 1 more tightly. Or start with ch 48 and work Round 3 as [sc in next st, 2 sc in next st] 24 times (48 sc worked 1-per-stitch + 24 extra sc = 72 sc).
Top band ruffles. You have more than 72 sc. Recount Round 27 section by section.
Holder is too short. Your dc are short. Add one more Y/X pair at N = 7.
Care
Hand wash in cool water, or machine wash on a gentle cycle in a laundry bag. Reshape the holder and let it dry flat or stuffed with bags.

Final Notes
Here is the full measurement chain. The 54-sc bottom ring is 12 in (30.5 cm) around, and it opens out to 72 sc for a 1 in (2.5 cm) bottom band. Next come 21 mesh rounds at 0.5 in (1.3 cm) each, swelling to about 25 in (63.5 cm) around at the belly and bringing the piece to 11.5 in (29.2 cm) tall. Last, a 72-sc top band adds 1 in (2.5 cm), for a finished height of 12.5 in (31.8 cm). If your measurements match at each checkpoint, your lantern will hang straight, hold plenty of bags, and look tidy on any cabinet door.
Happy crocheting!