This cheerful fish keeps a kitchen cupboard tidy. You push used grocery bags into the open top behind the tail and hang the loop on a hook. Bags then pull out one at a time through the small mouth at the bottom.
The colors are a bright ocean mix. Royal blue, lime green and teal stripe the solid head, and the same colors run in two-round bands up the stretchy diamond mesh body. The fins and tail are sunny yellow, and the white-and-black eyes give the face its character.
The pattern uses US crochet terms. Laid flat, the finished holder is about 5.1 in (13.0 cm) wide across the head. It is about 19.5 in (49.5 cm) long from the mouth to the tip of the tail, not counting the hanging loop.
The body is one tube worked in joined rounds from the mouth up: a solid striped head, a ruffled collar, an open mesh body and a short solid rim. The tail is worked straight off the back of the rim in rows. The two fins and two eyes are made separately and sewn on. A short crab-stitch border finishes both openings.
Finished Size and Construction
- Finished size: 5.1 in (13.0 cm) wide flat x 19.5 in (49.5 cm) long, before filling
- Skill level: Intermediate (simple mesh, color changes, sewing on small pieces)
- Terminology: US crochet terms
- Yarn weight: Worsted weight (#4), cotton or cotton blend
- Hook: 5.0 mm (H-8)
- Number of pieces: 1 body tube with the tail attached, plus 2 fins and 2 eyes sewn on
- Layout: One fish, with no blocks or tiles to join
- Head: 36 sts around, 10.3 in (26.2 cm) around, 5.0 in (12.7 cm) tall
- Mesh body: 12 loops around, 10.5 in (26.7 cm) tall unstretched
- Top rim: 1.25 in (3.2 cm) tall
- Size before border: The mouth is 20 sts, 5.7 in (14.5 cm) around. The top opening is the 12 front sts.
- Border depth: 1 round of crab stitch, about 0.25 in (0.6 cm)
Materials
Use a smooth worsted weight cotton. Cotton holds its shape, doesn’t stretch much under the weight of the bags, and survives washing. Acrylic also works, but the mesh will stretch longer.
- Color A, Royal Blue: 40 g, about 76 m
- Color B, Lime Green: 30 g, about 57 m
- Color C, Teal: 20 g, about 38 m
- Color D, Yellow: 15 g, about 28 m
- Color E, White: 5 g, about 10 m
- Color F, Black: 2 g, about 4 m
All amounts include a margin of about 15 percent for your gauge test and the yarn tails left at color changes.
Tools:
– 5.0 mm (H-8) crochet hook
– Tapestry needle
– 4 locking stitch markers
– Rust-proof pins
– Scissors
– Measuring tape
Abbreviations (US Terms)
- ch: chain
- sl st: slip stitch
- sc: single crochet
- dc: double crochet
- sc2tog: single crochet 2 together
- FLO: front loop only
- MR: magic ring
- st(s): stitch(es)
- sk: skip
- rep: repeat
- rnd(s): round(s)
Crab stitch (reverse sc): Work from left to right (right to left if you’re left-handed). Insert the hook in the next st to the right, yarn over and pull up a loop. Yarn over again and pull through both loops on the hook.
Scallop: Sc in the next st, 3 dc in the next st, sc in the next st. Each scallop uses 3 sts and makes 5 sts.
Gauge and Checkpoints
Solid gauge: 14 sc and 16 rnds = 4 in (10.2 cm) in sc worked in joined rounds.
Mesh gauge: 4 rnds of ch-5 mesh = 2.5 in (6.4 cm) tall, measured flat without stretching.
Make the head first and use it as your gauge test, because its width sets the size of everything else.
- Checkpoint 1 (after Rnd 3): The mouth tube is 2.9 in (7.4 cm) across when flattened.
- Checkpoint 2 (after Rnd 7): The head is 5.1 in (13.0 cm) across when flattened.
- Checkpoint 3 (after Rnd 20): The head is 5.0 in (12.7 cm) tall from the bottom edge to the top of Rnd 20.
- Checkpoint 4 (after Rnd 32): The first 12 mesh rounds are 7.5 in (19.1 cm) tall unstretched.
If the head is too big, go down one hook size. If it’s too small, go up one hook size. Small differences in the mesh don’t matter much because it stretches anyway. The head width does matter, because it controls where the eyes and fins sit.

Pattern
Join every round with a sl st to the first st. In solid rounds, the ch 1 at the start doesn’t count as a st. To change color, finish the last sl st of the round with the new color.
Head (Mouth End)
With B, ch 20 and sl st to the first ch to form a ring. Make sure the chain isn’t twisted.
Rnd 1 (B): Ch 1, sc in each ch around. (20 sts)
Rnds 2–3 (B): Ch 1, sc in each st around. (20 sts)
These three rounds make the green lip that the bags pull through.
Rnd 4 (C): Ch 1, *sc in next 4 sts, 2 sc in next st; rep from * 4 times. (24 sts)
Rnd 5 (A): Ch 1, *sc in next 5 sts, 2 sc in next st; rep from * 4 times. (28 sts)
Rnd 6 (A): Ch 1, *sc in next 6 sts, 2 sc in next st; rep from * 4 times. (32 sts)
Rnd 7 (B): Ch 1, *sc in next 7 sts, 2 sc in next st; rep from * 4 times. (36 sts)
Rnds 8–18: Ch 1, sc in each st around. (36 sts) Use these colors:
– Rnds 8–9: C
– Rnds 10–11: A
– Rnds 12–13: B
– Rnds 14–15: A
– Rnd 16: C
– Rnd 17: B
– Rnd 18: A
Rnd 19, collar ruffle (C): Working in FLO, ch 1 and work 12 scallops around. (60 sts: 12 scallops of 5 sts each)
Rnd 20 (A): Fold the ruffle down toward the mouth. Ch 1 and sc in each free back loop of Rnd 18, behind the ruffle. (36 sts: 1 sc in each of the 36 back loops, nothing added)
The ruffle now stands out as a wavy teal ridge where the head meets the mesh.
Mesh Body
Every mesh round has 12 loops. The last loop of each round is a short ch plus a dc. That dc puts your hook in the center of a loop, ready for the next round.
Rnd 21 (B): Sc in the first st, *ch 5, sk 2 sts, sc in next st; rep from * 10 more times. Ch 2, sk 2 sts, dc in the first sc. (12 loops)
Rnd 22 (B): Sc around the post of the dc you just made, *ch 5, sc in next ch-5 loop; rep from * 10 more times. Ch 2, dc in the first sc. (12 loops)
Rnds 23–32: Repeat Rnd 22. (12 loops each rnd)
Change color every 2 rounds. Fasten off, then join the new color with a sc around the post of the last dc.
– Rnds 23–24: A
– Rnds 25–26: C
– Rnds 27–28: A
– Rnds 29–30: B
– Rnds 31–32: A
Rnds 33–38 (shorter loops): Sc around the post of the last dc, *ch 4, sc in next loop; rep from * 10 more times. Ch 1, dc in the first sc. (12 loops each rnd)
– Rnds 33–34: C
– Rnds 35–36: A
– Rnds 37–38: B
The shorter loops make the top of the fish slightly narrower. These 6 rounds add 3 in (7.6 cm), so the mesh is 10.5 in (26.7 cm) in total.
Top Rim
Rnd 39 (A): Ch 1, work 3 sc in each loop around. Skip the sc between the loops. (36 sts: 12 loops x 3 sc)
Rnds 40–41 (A): Ch 1, sc in each st around. (36 sts)
Rnd 42 (A): Ch 1, *sc in next 4 sts, sc2tog; rep from * 6 times. (30 sts)
Rnd 43 (A): Ch 1, *sc in next 3 sts, sc2tog; rep from * 6 times. (24 sts) Fasten off.
Flatten the rim with the front (the side that will get the eyes) facing you and the round join at the right fold. Sts 1–12 are the front and sts 13–24 are the back. Put a marker in st 13 and another in st 24.
Tail
The tail is worked in rows into the 12 back sts only. The 12 front sts stay free, which leaves an opening at the top for pushing bags in.
Row 1 (D): Join D in st 13, ch 1, sc in sts 13–24. Turn. (12 sts)
Row 2: Ch 1, 2 sc in first st, sc in next 10 sts, 2 sc in last st. Turn. (14 sts)
Row 3: Ch 1, 2 sc in first st, sc in next 12 sts, 2 sc in last st. Turn. (16 sts)
Row 4: Ch 1, 2 sc in first st, sc in next 14 sts, 2 sc in last st. Turn. (18 sts)
Row 5: Ch 1, 2 sc in first st, sc in next 16 sts, 2 sc in last st. Turn. (20 sts)
First lobe (over sts 1–10 of Row 5):
– Row 6: Ch 1, sc2tog, sc in next 6 sts, sc2tog. Turn. (8 sts)
– Row 7: Ch 1, sc2tog, sc in next 4 sts, sc2tog. Turn. (6 sts)
– Row 8: Ch 1, sc2tog, sc in next 2 sts, sc2tog. Turn. (4 sts)
– Row 9: Ch 1, sc2tog twice. Turn. (2 sts)
– Row 10: Ch 1, sc2tog. (1 st) Fasten off.
Second lobe: Join D in st 11 of Row 5. Work Rows 6–10 over sts 11–20, exactly like the first lobe.
The two pointed lobes, with a V notch between them, form the fishtail. The tail is 5.7 in (14.5 cm) across at Row 5.
Fins (Make 2)
With D, ch 2.
Row 1: 3 sc in 2nd ch from hook. Turn. (3 sts)
Row 2: Ch 1, 2 sc in first st, sc in next st, 2 sc in last st. Turn. (5 sts)
Row 3: Ch 1, sc in each st. Turn. (5 sts)
Row 4: Ch 1, 2 sc in first st, sc in next 3 sts, 2 sc in last st. Turn. (7 sts)
Row 5: Ch 1, sc in each st. Turn. (7 sts)
Row 6: Ch 1, 2 sc in first st, sc in next 5 sts, 2 sc in last st. Turn. (9 sts)
Row 7: Ch 1, sc in each st. Don’t turn. (9 sts)
Edging: Work around the fin as follows, then sl st to the first sc. (28 sts: 13 + 6 + 3 + 6)
– Top edge: Ch 1, 3 sc in first st of Row 7, sc in next 7 sts, 3 sc in last st. (13 sts)
– First side: Sc in each of the 6 row ends going down (Rows 6–2). (6 sts)
– Tip: 3 sc in the tip at Row 1. (3 sts)
– Second side: Sc in each of the 6 row ends going up the other side. (6 sts)
Fasten off and leave a 12 in (30.5 cm) yarn tail for sewing.
Each fin is a curved wedge about 3 in (7.6 cm) across the top and 2 in (5.1 cm) from top to tip.
Eyes (Make 2)
Rnd 1 (F): MR, 6 sc in the ring, pull it closed. Change to E in the final sl st. (6 sts)
Rnd 2 (E): Ch 1, 2 sc in each st around. (12 sts)
Rnd 3 (E): Ch 1, *sc in next st, 2 sc in next st; rep from * 6 times. (18 sts) Fasten off and leave an 8 in (20.3 cm) yarn tail.
Each eye is about 1.25 in (3.2 cm) across: a black center with a wide white ring.
Assembly
- Eyes: Pin the eyes to the front of the head over Rnds 11–15, with their centers 2 in (5.1 cm) apart (about 7 sts). Whipstitch around the outer edges with E.
- Fins: Pin one fin at each side fold of the head, over Rnds 12–17. Starting at the tip, sew 1 in (2.5 cm) of one side edge to the head, so the wide top of the fin flares out and up.
- Hanging loop: With A, join with a sl st at the center of the V notch between the tail lobes. Ch 16 and sl st in the same spot. Fasten off. The loop hangs about 2 in (5.1 cm) long.
Weave in all yarn ends inside the solid sections. Never hide them along the mesh chains, where they show.
Border
Border gauge: Crab stitch goes 1 st into each existing st. That keeps both openings at their exact size, with no ruffling and no tightening.
Mouth border (B): Hold the fish mouth-up and join B in any free loop of the foundation chain. Ch 1, crab stitch in each free loop around, and sl st to the first st. (20 sts) The mouth stays at 20 sts, or 5.7 in (14.5 cm) around. That’s wide enough for a bag to slide through, but snug enough to hold the next bag in place.
Top opening border (A): Join A in st 1 of Rnd 43, at the right end of the 12 front sts. Ch 1 and crab stitch in each st across. Sl st into the base of the tail’s Row 1. (12 sts)
Tail edging (D): Join D at the right base of the tail, where Row 1 meets the body. Ch 1, then:
– Sc in 10 row ends up the outer edge. (10 sts)
– (Sc, ch 2, sc) in the tip. (2 sts)
– Sc in 4 row ends down the inner edge. Sc2tog over the last inner row end of this lobe and the first inner row end of the next lobe. Sc in 4 row ends up. (9 sts)
– (Sc, ch 2, sc) in the second tip. (2 sts)
– Sc in 10 row ends down the outer edge. (10 sts)
Fasten off. (33 sc + 2 ch-2 sps: 10 + 2 + 9 + 2 + 10)
Why the math works: The mouth and top openings get exactly 1 border st per existing st, so their size doesn’t change. On the tail, each sc row end gets 1 sc, which lies flat because sc rows are close to square. Each lobe has 5 inner row ends. The sc2tog joins the last one of the first lobe and the first one of the second lobe at the center, so the notch gets 4 + 1 + 4 = 9 sts and stays sharp.
Final Blocking
- Mist the whole fish with water until it’s damp, not soaked.
- Lay it flat on a blocking mat, front side up.
- Pin the head to 5.1 in (13.0 cm) wide and 5.0 in (12.7 cm) tall.
- Gently stretch the mesh to 10.5 in (26.7 cm) long, lining up the diamonds so the color bands run straight across.
- Pin the tail points out until the tail is about 6 in (15.2 cm) across with its edging.
- Pin the fins flat with their wide ends pointing out and slightly up.
- Fluff the ruffle with your fingers so the scallops stand out evenly.
- Let it dry completely before you take out the pins.
Final Quality-Control Checklist
- The head is 5.1 in (13.0 cm) wide when flat.
- The total length is about 19.5 in (49.5 cm) without the loop.
- The mouth has 20 crab stitches, and a bag passes through with a light pull.
- Every mesh round has 12 loops, and none are twisted.
- Each mesh color band is 2 rounds tall and runs straight.
- The ruffle has 12 even scallops.
- The eyes are level and the same distance from each fin.
- Both fins sit at the same height.
- The top opening is free across the 12 front sts.
- The hanging loop is firmly attached at the tail notch.
- All yarn ends are woven into solid sections.
Troubleshooting
The round joins drift or show a jog. Always join with a sl st and ch 1, and keep the joins along one side fold. The fin you sew there later will hide them.
The mesh slants. Make sure each round ends with the short ch plus dc, and that the next round starts around the post of that dc.
A mesh round has 11 or 13 loops. Count the loops after every round. One loop too many or too few changes the width and throws off the stitch count in Rnd 39.
Bags won’t come out of the mouth. Undo the crab stitch border and work it again more loosely, or use a hook one size larger.
The tail curls. Block it flat with pins. If it still curls, redo the tail edging with looser tension.
The fins droop. Sew a longer part of the fin’s side edge to the head, up to 1.5 in (3.8 cm).
Care
Hand wash in cool water with mild soap, roll it in a towel to press out the water, and dry it flat. Reshape the mesh while it’s damp.

Final Notes
The measurement chain is simple. The mouth is 20 sts, 5.7 in (14.5 cm) around, and it grows to a 36-st head that is 10.3 in (26.2 cm) around and 5.1 in (13.0 cm) flat. The 36 sts become 12 mesh loops, and those 12 loops go back to 36 sts at the rim. The rim then decreases to 24 sts so the tail can rise from the 12 back sts. Check the head width and the loop count, and the rest of the fish falls into place.
Happy crocheting!