Bubbles is a fish-shaped grocery bag holder. You stuff the open mesh body with plastic bags and pull them out one at a time through a small hole at the bottom. Cream fins, a cream tail, two dark brown eyes, and a solid strap for hanging on a cabinet knob or hook finish the fish.
The body and strap are bright aqua blue. The fan-shaped fins and arched tail are cream, and the eyes are dark brown. The look is playful and airy.
This pattern uses US crochet terms. Flattened, the body measures 6 in (15.2 cm) wide and 14.1 in (35.8 cm) tall. It is 9.5 in (24.1 cm) wide across the fins and about 16 in (40.6 cm) long including the tail, not counting the strap.
You crochet the body bottom-up in one piece. It starts with a solid ring around the dispenser hole, continues as a V-stitch mesh tube, and finishes with a solid single-crochet head. The strap, fins, tail, and eyes are made separately and sewn on.
Finished Size and Construction
- Finished size: body 6 in (15.2 cm) x 14.1 in (35.8 cm) flat; 9.5 in (24.1 cm) across fins; about 16 in (40.6 cm) long with tail
- Skill level: Easy-intermediate
- Terminology: US
- Yarn weight: Worsted (#4) cotton
- Hook: 5.0 mm (H-8)
- Number of pieces: 7 (1 body, 1 strap, 2 fins, 1 tail, 2 eyes)
- Layout: fins on the side folds, tail over the bottom, eyes on the head, strap across the top opening
- Piece sizes: strap 15 in (38.1 cm) x 0.9 in (2.3 cm); fin 3.5 in (8.9 cm) wide x 1.75 in (4.4 cm) deep; tail about 6.5 in (16.5 cm) across; eye 0.6 in (1.5 cm)
- Size before border: body 6 in (15.2 cm) x 13.7 in (34.8 cm)
- Border depth: 0.4 in (1.0 cm) at the top opening
Materials
Use a smooth, sturdy cotton or cotton blend, which keeps its shape when the holder is full. The amounts below assume roughly 170 m per 100 g.
- Aqua blue (Color A): 120 g / 204 m
- Cream (Color B): 25 g / 43 m
- Dark brown (Color C): 5 g / 9 m
All quantities include a margin of roughly 15–20% for swatching and tension differences.
Tools:
– 5.0 mm (H-8) crochet hook
– Tapestry needle
– 4 stitch markers
– Rust-proof pins
– Scissors
– Tape measure
Abbreviations (US Terms)
- ch: chain
- sl st: slip stitch
- sc: single crochet
- dc: double crochet
- inc: 2 sc in the same stitch
- sc2tog: single crochet 2 together
- BLO: back loop only
- sp: space
- st(s): stitch(es)
- rev sc: reverse single crochet (crab stitch), worked left to right (right to left if you’re left-handed)
Special stitch: V-stitch (V-st). Work (dc, ch 1, dc) in the same stitch or space.
Gauge and Checkpoints
- Single crochet in rounds: 16 sc and 18 rounds = 4 in (10.2 cm)
- Mesh: 4 V-st repeats (each V-st plus the ch-1 after it) = 3 in (7.6 cm); 5 mesh rounds = 3 in (7.6 cm)
Test piece: Work Rounds 1–9 of the body first. That gives you the base and two mesh rounds, so you can check both gauges at once.
Checkpoints:
– After Round 7: the base is a shallow cup that measures 6 in (15.2 cm) across when flattened. That is half of its 12 in (30.5 cm) circumference.
– After Round 22: the mesh measures 9 in (22.9 cm) from the top of Round 7.
– After Round 34: the flattened body measures 13.7 in (34.8 cm) from the bottom fold to the top edge.
If your test piece is too big, go down half a hook size. If it’s too small, go up half a hook size. Never change the stitch counts.

Body (Color A)
Work in joined rounds without turning. Place a marker in the first stitch of each round.
Round 1: Ch 18 and sl st to the first ch to form a ring without twisting it. This ring becomes the dispenser hole, about 1.4 in (3.6 cm) across. Ch 1, sc in each ch around, join. (18 sc)
Round 2: Ch 1, (sc 2, inc) 6 times, join. (24 sc)
Round 3: Ch 1, (sc 3, inc) 6 times, join. (30 sc)
Round 4: Ch 1, (sc 4, inc) 6 times, join. (36 sc)
Round 5: Ch 1, (sc 5, inc) 6 times, join. (42 sc)
Round 6: Ch 1, (sc 6, inc) 6 times, join. (48 sc)
Round 7: Ch 1, sc BLO in each st around, join. (48 sc) Working in the back loops makes a crisp edge, and the work turns upward into a cup.
Round 8 (mesh setup): Ch 4 (counts as dc + ch 1), dc in the same st, ch 1, skip 2 sts. V-st in next st, ch 1, skip 2 sts; repeat from * 15 times. Join with a sl st to the 3rd ch of the beginning ch-4. (16 V-sts, 16 ch-1 sps) Each repeat uses 3 sts, and 16 x 3 = 48.
Round 9: Sl st into the center ch-1 sp of the first V-st. Ch 4 (counts as dc + ch 1), dc in the same sp, ch 1. V-st in the ch-1 sp of the next V-st, ch 1; repeat from * 15 times. Join to the 3rd ch of the beginning ch-4. (16 V-sts)
Rounds 10–22: Repeat Round 9. (16 V-sts each round) The mesh should now measure 9 in (22.9 cm) from the top of Round 7.
Round 23 (conversion): Sl st into the first V-st sp, then ch 1. In each V-st, work sc in the first dc, sc in the V-st sp, and sc in the second dc. Skip the ch-1 sps between V-sts. Join. (32 sc in dc + 16 sc in V-st sps = 48 sc)
Rounds 24–31: Ch 1, sc in each st around, join. (48 sc each round) These rounds form the solid head.
Round 32: Ch 1, (sc 6, sc2tog) 6 times, join. (42 sc)
Round 33: Ch 1, (sc 5, sc2tog) 6 times, join. (36 sc)
Round 34: Ch 1, (sc 4, sc2tog) 6 times, join. (30 sc)
The top opening is now 7.5 in (19.1 cm) around, which is 3.75 in (9.5 cm) wide when flattened. Leave the yarn attached for the border.
Strap (Color A)
Row 1: Ch 61. Sc in the 2nd ch from the hook and in each ch across, turn. (60 sc)
Rows 2–4: Ch 1, sc in each st across, turn. (60 sc each row)
Fasten off, leaving a long tail. The strap measures 15 in (38.1 cm) x 0.9 in (2.3 cm).
Fins (Color B, make 2)
The fins are worked flat in rows. Because the dc posts radiate from the ring, the fins get their fan ridges.
Row 1: In a magic ring, ch 3 (counts as dc) and work 8 dc. Pull the ring closed but do not join. Turn. (9 dc)
Row 2: Ch 3 (counts as dc), dc in the same st, 2 dc in each of the next 7 sts, dc in the top of the turning ch, turn. (2 + 14 + 1 = 17 dc)
Row 3 (scallops): Ch 1, sc in the first st. Skip 1 st, 5 dc in next st, skip 1 st, sc in next st; repeat from * 4 times. (4 shells; 20 dc + 5 sc = 25 sts) This row uses 1 + (4 x 4) = 17 sts.
Fasten off, leaving a long tail. Each fin is a half-fan 3.5 in (8.9 cm) wide along its straight edge and 1.75 in (4.4 cm) deep, with 4 scallops.
Tail (Color B)
The tail is worked flat along its length. The outer edge grows while the inner edge stays the same, so the strip curves into an arch.
Row 1: Ch 25. Sc in the 2nd ch from the hook and in each ch across, turn. (24 sc) This is the inner edge, 6 in (15.2 cm) long.
Row 2: Ch 1, working in BLO, (sc 5, inc) 4 times, turn. (28 sc)
Row 3: Ch 1, working in BLO, (sc 6, inc) 4 times, turn. (32 sc)
Row 4: Ch 1, working in BLO, (sc 7, inc) 4 times, turn. (36 sc)
Row 5: Ch 1, working in BLO, (sc 8, inc) 4 times, turn. (40 sc)
Row 6: Ch 1, sc BLO in each st across. (40 sc)
Fasten off, leaving a long tail. The BLO rows make the ridged texture. The 40-st outer edge, 10 in (25.4 cm) long, curves around the 24-st inner edge. The result is an arch about 6.5 in (16.5 cm) across with a band 1.3 in (3.3 cm) wide.
Eyes (Color C, make 2)
Round 1: Work 8 sc in a magic ring, join. (8 sc)
Round 2: Sl st loosely in each st around. (8 sl sts)
Fasten off, leaving a tail. Each eye is 0.6 in (1.5 cm) across, and the slip-stitch round gives it a ringed, button-like edge.
Make All Pieces
- Color A: 1 body, 1 strap
- Color B: 2 fins, 1 tail
- Color C: 2 eyes
Assembly layout (front view, body flattened):
[ STRAP LOOP ]
/ \
[ HEAD: Rnds 23-34 ]
[ eye eye ] Rnds 27-28, 12 sts apart
[FIN] [ MESH: Rnds 8-22 ] [FIN] fins at Rnds 13-18
[ BASE: Rnds 1-7 ]
[ TAIL ARCH ] over dispenser hole
Joining
Flatten the body with the beginning-of-round seam along one side fold. The head rounds then have 24 sts on the front and 24 on the back, and the mesh has 8 V-sts on each side.
Fins: Pin each fin’s straight edge (its row ends and magic ring) along a side fold, centered over mesh Rounds 13–18. That span is 3.6 in (9.1 cm), close to the fin’s 3.5 in (8.9 cm) edge. Whipstitch through the side dc posts, catching one fin row end for every post. The scallops should point outward.
Eyes: On the front of the head, mark st 6 and st 18 of the 24 front sts at Rounds 27–28. They are 12 sts, or 3 in (7.6 cm), apart. Sew each eye around its slip-stitch ring.
Tail: Find the center 8 sts (sts 17–24) of the tail’s outer edge (Row 6). That stretch is 2 in (5.1 cm). Center it on the front of the base over Rounds 5–6, just above the dispenser hole, and whipstitch it down stitch to stitch. The two lobes hang on either side of the hole, and bags come out between them.
Strap: Tuck 1 in (2.5 cm) of each strap end inside the head at a side fold. Sew through all layers along Rounds 31–34. This leaves 13 in (33.0 cm) free, so the loop rises about 6.5 in (16.5 cm) above the head.
Tension: Make your sewing stitches snug but not tight. If you pull too hard, the mesh puckers and the fins cup.
Size check: The body should still be 6 in (15.2 cm) wide flat, and 9.5 in (24.1 cm) across the fins.
Border
Work the border in Color A at the same gauge of 16 sc = 4 in (10.2 cm).
Top opening, Round 1: With the attached yarn, ch 1 and sc in each st around, join. (30 sc; 15 per flattened side)
Top opening, Round 2: Ch 1, rev sc in each st around, join, fasten off. (30 rev sc; 15 per flattened side)
Dispenser hole, Round 1: Join Color A in any free loop of the foundation ring. Ch 1 and sc in each of the 18 free loops, join. (18 sc; 9 per flattened side)
Dispenser hole, Round 2: Sl st loosely in each st around, fasten off. (18 sl sts)
Why the math works: Every border round is worked one stitch into each existing stitch, with no increases. The top therefore stays 7.5 in (19.1 cm) around and the hole stays 1.4 in (3.6 cm) across. The rev sc firms up the top edge so it doesn’t stretch as you load bags. The top border adds 0.4 in (1.0 cm), taking the body from 13.7 in (34.8 cm) to 14.1 in (35.8 cm).
Final Blocking
- Weave in all ends, running each one through 2–3 sts in opposite directions.
- Mist the piece lightly, or wet it and roll it in a towel to press out the excess water.
- Lay the body flat with straight side folds and pin it to 6 in (15.2 cm) x 14.1 in (35.8 cm).
- Open each mesh hole gently with your fingers so the rounds line up.
- Pin the fins so the scallops fan out, and pin the tail lobes symmetrically.
- Pin the strap straight, 0.9 in (2.3 cm) wide.
- Let it dry completely before hanging.
Final Quality-Control Checklist
- 48 sc at the base, 16 V-sts in every mesh round, and 30 sc at the top
- Body measures 6 in (15.2 cm) x 14.1 in (35.8 cm) flat
- Dispenser hole is about 1.4 in (3.6 cm) across with a smooth edge
- Fins sit level on mesh Rounds 13–18
- Eyes are 3 in (7.6 cm) apart and level
- Tail is centered and the hole is clear
- Strap ends are secure and the strap is not twisted
- All ends are woven in
Troubleshooting
- Base ruffles: Your increase rounds are too loose. Go down a hook size for Rounds 1–7 only.
- Mesh spirals: Start every round in the center of the first V-st, and join to the 3rd ch of the ch-4.
- Head flares: Recount Round 23. It should have 48 sc, with the between-V spaces skipped.
- Tail won’t curve: Check the increases in Rows 2–5. The outer edge must reach 40 sts.
- Bags fall out: Tighten the dispenser border, or add another round of sl sts.
- Strap stretches: Add a fifth row of sc.
Care
Hand wash in cool water with mild soap, reshape, and dry flat. Don’t use a dryer, because it can shrink the cotton and distort the mesh.

Final Notes
Here is how the measurements connect:
- A gauge of 16 sc per 4 in gives a 48-stitch circumference: 12 in (30.5 cm) around, or 6 in (15.2 cm) flat.
- Sixteen V-sts keep that width through 9 in (22.9 cm) of mesh.
- The head narrows from 48 stitches to a 30-stitch opening.
- The border brings the body to 14.1 in (35.8 cm).
- The fins add 1.75 in (4.4 cm) per side, for 9.5 in (24.1 cm) across.
- The tail brings the full length to about 16 in (40.6 cm).
Happy crocheting!