This lavender bag holder turns a pile of plastic grocery bags into something tidy and pretty. The body is an open shell lattice of offset fans. The shells climb the tube in soft diagonal lines, and the holes let you see how many bags are left.
The design is shown in a soft lavender cotton, with deep plum as an alternate color. A solid ridged band finishes the top, and a narrow strap hangs from a cabinet knob or hook. A chain drawstring with a bow gathers the bottom opening so bags pull out one at a time. All instructions use US crochet terms.
The finished holder measures 6.4 in (16.3 cm) wide when flat and 17 in (43.2 cm) long, not counting the strap. The strap adds a loop about 4.5 in (11.4 cm) tall.
Construction is simple and seamless. You start at the bottom with a chain ring that becomes the opening bags come out of, and increase to 48 stitches. Then you work an eyelet round for the drawstring and build the shell lattice in joined rounds. The top band and strap are worked directly onto the body. The drawstring is the only separate element.
Finished Size and Construction
- Finished size: 6.4 in (16.3 cm) wide flat x 17 in (43.2 cm) long, plus strap
- Circumference: 12.8 in (32.5 cm)
- Skill level: Easy to intermediate
- Terminology: US crochet terms
- Yarn weight: Worsted (#4), cotton
- Hook: 5.0 mm (US H-8)
- Number of pieces: 1 body (with built-in strap) + 1 chain drawstring
- Layout: Single tube worked bottom-up in joined rounds
- Body size before top band: 6.4 in (16.3 cm) wide x 15.25 in (38.7 cm) long
- Top band (border) depth: 1.75 in (4.4 cm)
- Strap: 0.8 in (2.0 cm) wide x 10 in (25.4 cm) long before attaching
Materials
Choose a smooth worsted-weight cotton or cotton blend. Cotton holds the shell shape, resists stretching under the weight of bags, and washes well. Acrylic will work but stretches more in length.
- Lavender (main color): 110 g, approx. 185 m
- Optional plum (second holder): 110 g, approx. 185 m
These amounts include about 15% extra to cover gauge differences and the drawstring.
Tools:
– 5.0 mm (US H-8) crochet hook
– Locking stitch markers (2)
– Tapestry needle
– Scissors
– Measuring tape
– Rustproof pins and a towel for blocking
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- dc – double crochet
- BLO – back loop only
- sp – space
- st(s) – stitch(es)
- rep – repeat
- rnd – round
Special stitch – Shell: Work 5 dc in the same stitch. The center (3rd) dc of each shell is where the next round’s sc goes.
Split shell: At the start of each B round, the first shell is split in two. You work ch 3 (counts as dc) and 2 dc at the beginning of the round, then 2 dc in the same stitch at the end. Together they make one 5-st shell, and the ch-3 is its center stitch.
Gauge and Checkpoints
Single crochet gauge: 15 sc and 16 rnds = 4 in (10.2 cm).
Shell gauge: 2 shell repeats = 3.2 in (8.1 cm) across; 8 pattern rnds = 5 in (12.7 cm) tall.
Because this is a single piece, Rnds 1–13 are your gauge test. Stop and measure at each checkpoint below before you continue.
- After Rnd 3: The flat circle of 48 sc lies flat with no ruffling.
- After Rnd 5: The tube is 6.4 in (16.3 cm) wide flat and 1.5 in (3.8 cm) tall.
- After Rnd 13: The piece is 6.5 in (16.5 cm) tall and still 6.4 in (16.3 cm) wide flat.
- After Rnd 27: The body is 15.25 in (38.7 cm) long.
- After Rnd 34: The finished body is 17 in (43.2 cm) long.
If your piece is too big: Change to a 4.5 mm (US 7) hook and restart. If it is too small: Change to a 5.5 mm (US I-9) hook. You can adjust length by adding or removing pattern rounds in pairs (one A round and one B round). Each pair changes the length by 1.25 in (3.2 cm).

Bottom Base
Rnd 1: Ch 24, sl st to first ch to form a ring, being careful not to twist. Ch 1, sc in each ch around, sl st to first sc to join. (24 sc)
Place a marker in the first stitch of each round and move it up as you go.
Rnd 2 (growth): Ch 1, sc in next st, 2 sc in next st; rep from * 12 times total, sl st to first sc. (36 sc)*
Rnd 3 (growth): Ch 1, sc in next 2 sts, 2 sc in next st; rep from * 12 times total, sl st to first sc. (48 sc)*
Rnd 4 (eyelet round): Ch 4 (counts as dc + ch 1), skip next st, dc in next st, ch 1, skip next st; rep from * 23 more times, sl st to 3rd ch of beginning ch-4. (24 dc + 24 ch-1 sps = 48 positions)*
These 24 eyelets hold the drawstring.
Rnd 5 (conversion round): Ch 1, sc in same st as join, sc in next ch-1 sp, sc in next dc, sc in next ch-1 sp; rep from * 22 more times, sl st to first sc. (24 sc worked in dc + 24 sc worked in sps = 48 sc)*
Checkpoint: 6.4 in (16.3 cm) wide flat, 1.5 in (3.8 cm) tall.
Shell Lattice Body
The lattice uses a 6-stitch repeat, so each round has 8 shells. From Rnd 7 onward, every round has 8 shells, 8 sc and 16 ch-2 sps.
Rnd 6 (shell setup): Ch 1, sc in first st, skip 2 sts, shell in next st, skip 2 sts, sc in next st; rep from * 6 more times, skip 2 sts, shell in next st, skip 2 sts, sl st to first sc. (8 shells + 8 sc = 48 sts)*
Rnd 7 (Round B): Ch 3 (counts as dc), 2 dc in same st as join (first half of split shell), ch 2, sc in center dc of next shell, ch 2, shell in next sc; rep from * 6 more times, ch 2, sc in center dc of last shell, ch 2, 2 dc in same st as beginning ch-3, sl st to top of ch-3. (8 shells including split shell, 8 sc, 16 ch-2 sps)*
Rnd 8 (Round A): Ch 1, sc in same st as join (center of split shell), ch 2, shell in next sc, ch 2, sc in center dc of next shell; rep from * 6 more times, ch 2, shell in next sc, ch 2, sl st to first sc. (8 shells, 8 sc, 16 ch-2 sps)*
Each round puts its shells into the previous round’s sc and its sc into the centers of the previous round’s shells. This offset creates the diagonal fan lines and the oval holes.
Rnds 9–27: Rep Rnd 7 on odd rounds and Rnd 8 on even rounds, ending with a Round B on Rnd 27. (Each round: 8 shells, 8 sc, 16 ch-2 sps)
You now have 22 pattern rounds (Rnds 6–27), measuring 13.75 in (34.9 cm). Checkpoint: the body is 15.25 in (38.7 cm) long and 6.4 in (16.3 cm) wide flat. Do not fasten off.
Top Band (Border)
Border gauge: Same as the single crochet gauge, 15 sc and 16 rnds = 4 in (10.2 cm). Each round adds 0.25 in (0.6 cm).
For counting, treat the tube as two flat sides: stitches 1–24 are the front and stitches 25–48 are the back.
Rnd 28 (conversion round): Ch 1, sc in same st as join (top of ch-3), sc in next 2 dc, skip ch-2 sp, sc in next sc, skip ch-2 sp, sc in each of next 5 dc, skip ch-2 sp, sc in next sc, skip ch-2 sp; rep from * 6 more times, sc in last 2 dc, sl st to first sc. (40 sc worked in dc + 8 sc worked in sc + 0 added = 48 sc; 24 per side)*
Rnds 29–34: Ch 1, sc BLO in each st around, sl st to first sc. (48 sc each round; 24 per side)
Working in back loops creates the horizontal ridges on the band. After Rnd 34, the band is 7 rounds, or 1.75 in (4.4 cm), deep.
Why the math works: The body and the band both have 48 stitches, the same as the base. Rnd 28 places exactly one sc on each of the 48 stitches of Rnd 27 and skips the chain spaces. That keeps the band at the same 12.8 in (32.5 cm) circumference, so it doesn’t flare or pull in. Skipping the ch-2 spaces also makes the band firm, which keeps bags from stretching the top open.
Strap
Row 1: Do not fasten off. Ch 1, sc in first 3 sts of Rnd 34. Turn. (3 sc)
Rows 2–40: Ch 1, sc in each st across, turn. (3 sc)
The strap is 10 in (25.4 cm) long. Without twisting it, sl st the last row to sts 25–27 of Rnd 34, directly opposite the starting point (24 sts away on each side). Fasten off, leaving a 10 in (25.4 cm) tail, and sew the strap end securely to the inside of the band.
When hung, the strap forms an arch about 4.5 in (11.4 cm) tall.
Drawstring
Ch 100 (approx. 25 in / 63.5 cm). Fasten off, tie an overhand knot at each end, and trim.
Start at the front center and weave the cord in and out through the 24 eyelets of Rnd 4, so both ends come out at the front. Gather the bottom until the opening measures about 1.5 in (3.8 cm) across, and tie a bow.
Final Blocking
- Weave in all ends. Leave the drawstring out for now.
- Soak the holder in cool water for 10 minutes, then gently squeeze out the water. Do not wring.
- Roll it in a towel and press to remove more moisture.
- Lay it flat on a dry towel with the strap centered above the band.
- Smooth it to 6.4 in (16.3 cm) wide and 17 in (43.2 cm) long, and pin if needed.
- Open each shell with your fingers so the fans and holes are even.
- Let it dry completely, then weave in the drawstring and tie the bow.
Final Quality-Control Checklist
- Every round from Rnd 7 to Rnd 27 has 8 shells, 8 sc and 16 ch-2 sps.
- Shells form clean diagonal lines with no doubled or missing fans.
- The body is 6.4 in (16.3 cm) wide flat and 17 in (43.2 cm) long.
- The top band has 48 sc and shows 6 clear ridges.
- The strap is centered across the top, attached at opposite points, and not twisted.
- The drawstring passes through all 24 eyelets.
- The bottom opening gathers smoothly to about 1.5 in (3.8 cm).
- Ends are woven in securely, especially at the strap joins.
Troubleshooting
Bottom ruffles after Rnd 3: Your tension is loose. Go down a hook size or redo Rnds 2–3 more firmly.
Shell count is off: Check that each Round B ends with 2 dc in the base of the ch-3, completing the split shell. Count 8 sc per round.
Shells stack instead of offsetting: You probably worked a shell into a shell. Shells always go into an sc, and each sc always goes into the center dc of a shell.
Body twists into a spiral: Joined rounds often drift a little. Block firmly, and make each sl st join into the top of the round’s first stitch.
Top band flares: You may have worked into the ch-2 spaces on Rnd 28. Count to 48 sc and redo the round if needed.
Strap stretches too much: Work it with a hook one size smaller, or add a fourth sc per row and attach it to sts 25–28.
Bags fall through: Pull the drawstring tighter and double-knot the bow.
Care
Hand wash, or machine wash on a gentle cool cycle in a mesh bag. Reshape and lay flat to dry; hanging it wet will stretch it.

Final Notes
Here is how the measurements build. The 24-st ring grows to 48 sc, giving a 6.4 in (16.3 cm) flat width at 1.5 in (3.8 cm) tall. Twenty-two shell rounds keep the same 48-st base and bring the body to 15.25 in (38.7 cm). The 48-st top band adds 1.75 in (4.4 cm), for a finished length of 17 in (43.2 cm). The 10 in (25.4 cm) strap arches about 4.5 in (11.4 cm) above the band. Check each stage as you go, and your holder will hang straight and hand out bags neatly.
Happy crocheting!