Seaside Bubbles Fish Toilet Paper Holder Crochet Pattern

This cheerful fish hangs on a hook and stores three spare rolls in its body. A cream filet mesh tube lets the rolls show through, and a blue domed head with round eyes and a tan pouty mouth sits on top. Tan-edged fins and a split tail finish the coastal look.

The palette is calm: denim blue, cream, tan, white, and a touch of black. It works well in a beach-themed, farmhouse, or kids’ bathroom.

All instructions use US crochet terms. The finished holder is about 4.75 in (12.1 cm) across and about 23.25 in (59.1 cm) long from the head tip to the tail tips, not counting the hanging loop.

The head, tube, eyes, mouth, side fins, and tail lobes are made separately. You crochet the head as a cone in continuous rounds. The tube is worked in joined mesh rounds that end in a blue band. The fins and tail lobes get a tan edging. Then you sew everything together, attaching the head along the back half only so it opens like a lid.

Finished Size and Construction

  • Finished size: 4.75 in (12.1 cm) diameter × 23.25 in (59.1 cm) long
  • Skill level: Intermediate
  • Terminology: US
  • Yarn weight: Worsted (#4) cotton
  • Hook: 4.0 mm (G-6)
  • Number of pieces: 9 (1 head, 1 tube, 2 eyes, 1 mouth, 2 side fins, 2 tail lobes)
  • Layout: Vertical, with the head on top, tube in the middle, and tail at the bottom
  • Head: 5.75 in (14.6 cm) tall, 15 in (38.1 cm) around the base
  • Tube: 14 in (35.6 cm) tall, 15 in (38.1 cm) around
  • Side fin before border: 4.5 in (11.4 cm) wide × 2.25 in (5.7 cm) deep
  • Tail lobe before border: 4 in (10.2 cm) long × 2.25 in (5.7 cm) at the base
  • Border depth: 1 round of sc, about 0.25 in (0.6 cm)

Materials

Use a smooth worsted cotton or cotton blend. Cotton holds its shape and handles bathroom humidity well. Avoid fuzzy yarn because it blurs the mesh squares.

  • Blue (head, band, fins, tail): 60 g / 90 m
  • Cream (mesh tube): 60 g / 90 m
  • Tan (mouth and edgings): 15 g / 23 m
  • White (eyes): 5 g / 8 m
  • Black (pupils): 3 g / 5 m

These quantities include a margin of about 20% for gauge swatches and sewing tails.

Tools: 4.0 mm (G-6) hook, tapestry needle, 6 locking stitch markers, scissors, rustproof pins, and a tape measure.

Abbreviations (US Terms)

  • ch: chain
  • sl st: slip stitch
  • sc: single crochet
  • hdc: half double crochet
  • dc: double crochet
  • tr: treble crochet
  • inc: 2 sc in the same stitch
  • sc2tog: single crochet 2 together
  • BLO: back loop only
  • sp: space
  • st(s): stitch(es)

Special stitch – Mesh block: dc in the next dc, ch 2. One block equals 3 stitches of width.

Gauge and Checkpoints

  • Sc gauge: 16 sts × 18 rounds = 4 in (10.2 cm)
  • Mesh gauge: 5 blocks (15 sts) = 3.75 in (9.5 cm) wide, and 7 mesh rounds = 4 in (10.2 cm) tall

Make the head first to test your gauge. At Rnd 18 its base should measure 15 in (38.1 cm) around. If it is larger, go down a half hook size. If it is smaller, go up a half size.

Checkpoints:

  • Eye: 1.5 in (3.8 cm) across
  • Head finished: 5.75 in (14.6 cm) tall
  • Tube after Rnd 8 (7 mesh rounds): 4 in (10.2 cm) of mesh, 15 in (38.1 cm) around
  • Tube finished: 12 in (30.5 cm) of mesh, 14 in (35.6 cm) tall overall
  • Bottom opening: 12 in (30.5 cm) around, about 3.8 in (9.7 cm) across

If the mesh grows taller than your gauge, tighten the ch-2 spaces rather than changing the hook. Loose chains are the most common cause.

Blue crocheted character with white eyes, black pupils, and beige mouth showing chunky stitch texture.

Head (Blue, Make 1)

Work in continuous rounds and move a marker up each round.

  • Rnd 1: Magic ring, 6 sc. (6)
  • Rnd 2: [sc, inc] 3 times. (9)
  • Rnd 3: [2 sc, inc] 3 times. (12)
  • Rnd 4: [sc, inc] 6 times. (18)
  • Rnd 5: sc in each st. (18)
  • Rnd 6: [2 sc, inc] 6 times. (24)
  • Rnd 7: sc in each st. (24)
  • Rnd 8: [3 sc, inc] 6 times. (30)
  • Rnd 9: sc in each st. (30)
  • Rnd 10: [4 sc, inc] 6 times. (36)
  • Rnd 11: sc in each st. (36)
  • Rnd 12: [5 sc, inc] 6 times. (42)
  • Rnd 13: sc in each st. (42)
  • Rnd 14: [6 sc, inc] 6 times. (48)
  • Rnd 15: sc in each st. (48)
  • Rnd 16: [7 sc, inc] 6 times. (54)
  • Rnd 17: sc in each st. (54)
  • Rnd 18: [8 sc, inc] 6 times. (60)
  • Rnds 19–26: sc in each st. (60)

Sl st in the next st and fasten off, leaving a 12 in (30.5 cm) tail. The slow increases give the head its pointed dome shape. The round-end position marks the center back.

Hanging loop: Join blue at Rnd 1. Ch 20 and sl st in the same spot. Work 24 sc into the chain loop and sl st to join. The loop is about 2 in (5.1 cm) long.

Eyes (Make 2)

  • Rnd 1: With black, magic ring, 6 sc. Change to white in the last st and sl st to join. (6)
  • Rnd 2: ch 1, 2 sc in each st, join. (12)
  • Rnd 3: ch 1, [sc, inc] 6 times, join. (18)

Fasten off and leave a tail for sewing. Each eye is 1.5 in (3.8 cm) across.

Mouth (Tan, Make 1)

Ch 10 and join with a sl st to form a ring. Don’t twist the chain.

  • Rnd 1: ch 1, work 20 sc into the ring, join. (20)
  • Rnd 2: ch 1, [sc in next 4, 2 sc in next] 4 times, join. (24)

Fasten off. Flatten the ring into an oval about 2.25 in (5.7 cm) wide × 1.25 in (3.2 cm) tall. The open center makes the pouty lips.

Tube (Cream and Blue, Make 1)

With cream, ch 60 and join to the first ch without twisting.

  • Rnd 1: ch 1, sc in each ch, join. (60)
  • Rnd 2: ch 5 (counts as dc + ch 2), skip next 2 sts, dc in next st, ch 2, skip next 2 sts 19 times, sl st to the 3rd ch of the beginning ch-5. (20 blocks: 20 dc + 20 ch-2 sps = 60 sts)
  • Rnds 3–22: ch 5, dc in next dc, ch 2 19 times, sl st to the 3rd ch of ch-5. (20 blocks)

This gives 21 mesh rounds, or 12 in (30.5 cm) of mesh.

  • Rnd 23 (conversion round): ch 1, sc in the same st, 2 sc in the next ch-2 sp, sc in next dc, 2 sc in next ch-2 sp 19 times. Change to blue at the join. (20 sc into the dc + 40 sc into the 20 spaces = 60)
  • Rnds 24–27: With blue, ch 1, sc in each st, join. (60)
  • Rnd 28: ch 1, [8 sc, sc2tog] 6 times, join. (54)
  • Rnd 29: ch 1, [7 sc, sc2tog] 6 times, join. (48)
  • Rnd 30: ch 1, sc in each st, join. (48)

Fasten off. The narrower 48-stitch opening stops the bottom roll from falling through, while the paper still feeds out.

Side Fins (Blue, Make 2)

Work in rows.

  • Row 1 (RS): Magic ring, ch 3 (counts as dc), 6 dc in the ring. Turn. (7)
  • Row 2: ch 3, dc in the first st, 2 dc in each of the next 5 sts, dc in the last st. Turn. (13)
  • Row 3: ch 3, dc in the first st, 2 dc in each of the next 11 sts, dc in the last st. Turn. (25)
  • Row 4: ch 1, sc in the first st, skip 2, 7 dc in next, skip 2, sc in next 4 times. (4 shells: 28 dc + 5 sc = 33)

Don’t fasten off yet. The edging comes in the Border section. The dc columns fan outward and form the ridged rays.

Tail Lobes (Blue, Make 2)

Ch 17.

  • Row 1: sc in the 2nd ch from the hook, sc in next, hdc in next 3, dc in next 6, tr in next 5. Turn. (16)
  • Row 2 (BLO): ch 4 (counts as tr), tr in next 4, dc in next 6, hdc in next 3, sc in next 2. Turn. (16)
  • Row 3 (BLO): ch 1, sc in first 2, hdc in next 3, dc in next 6, tr in next 5. (16)

The graded stitch heights make a tapered wedge, with the wide tr end as the base and the sc end as the tip. Working in the back loops makes lengthwise ridges.

Border

Use tan at the same sc gauge, 16 sts = 4 in (10.2 cm). The border adds about 0.25 in (0.6 cm) on each bordered edge.

Side fin, Row 5 (curved edge only): Join tan to the first sc of Row 4. Sc in that sc, sc in next 3 dc, 3 sc in next dc (shell tip), sc in next 3 dc, sc in next sc 4 times. The count is 33 worked 1 per stitch + 8 extra (2 at each of the 4 tips) = 41. Fasten off.

Each fin now measures 5 in (12.7 cm) × 2.5 in (6.4 cm).

Tail lobe, 1 round: Join tan at the tip end of Row 3.

  • Top edge: 1 sc in each st. (16)
  • Base edge: 3 sc in each tr row end. (9)
  • Underside: 1 sc in each foundation ch. (16)
  • Tip: 1 sc in the Row 1 end, 3 sc in the Row 2 end, 1 sc in the Row 3 end. (5)
  • Sl st to join. (46)

Each lobe now measures 4.5 in (11.4 cm) × 2.75 in (7.0 cm).

Why the math works:

  • A tr row end is about 0.75 in tall, which equals 3 sc widths, so the base lies flat.
  • An sc row end equals 1 sc width.
  • On the curves, the 2 extra stitches at each shell tip and the lobe tip turn the point without cupping.

Make All Pieces

  • Blue: 1 head, 2 side fins, 2 tail lobes, plus the band at the bottom of the tube
  • Cream: 1 tube
  • Tan: 1 mouth, plus the edgings on 2 fins and 2 lobes
  • White and black: 2 eyes
            (loop)
           [ HEAD ]      eyes + mouth on front
  [FIN]    [ TUBE ]    [FIN]
           [ BAND ]
       [LOBE]    [LOBE]

Joining

Use the yarn tails and a whipstitch through matching stitches, pulling snug but not tight.

  1. Mark the tube. Mark tube Rnd 1 at stitches 1, 16, 31, and 46. Stitch 1 is the round join at the center back.
  2. Attach the head. Match head Rnd 26 to tube Rnd 1 stitch for stitch, since both have 60. Sew only the back half: 30 head sts to 30 tube sts, running from stitch 46 around through stitch 15. Go over the seam twice, because this hinge carries the weight of the rolls. The front 30 sts stay free as a lid.
  3. Add the face. Sew the eyes over head Rnds 14–18, about 10 sts apart and centered on the front. Sew the mouth over Rnds 19–24 below the eyes. Stitch through the mouth’s outer round only.
  4. Attach the side fins. Sew each straight fin edge vertically over mesh Rnds 3–10, which is about 4.5 in (11.4 cm) of mesh. Center one fin on stitch 16 and the other on stitch 46.
  5. Attach the tail lobes. Sew each base along band Rnd 30 over 11 sts: stitches 7–17 and stitches 31–41. Let the lobes hang down and angle outward.

Size check: Lay the fish flat. It should measure 23.25 in (59.1 cm) from head tip to tail tips.

Final Blocking

  1. Lightly mist the fins and tail lobes with water.
  2. Pin them flat and open the scallops and the lobe points.
  3. Slide a rolled towel about 4.75 in (12.1 cm) across into the tube to square up the mesh.
  4. Stuff the head over a small bowl to set the dome.
  5. Let everything dry completely, then load the rolls.

Final Quality-Control Checklist

  • [ ] Head is 60 sts at the base and 5.75 in (14.6 cm) tall
  • [ ] Tube has 20 blocks in every mesh round
  • [ ] Mesh height is 12 in (30.5 cm)
  • [ ] Bottom opening is 48 sts
  • [ ] Fin edging has 41 sts and lobe edging has 46 sts
  • [ ] Hinge seam is double-sewn and the lid closes evenly
  • [ ] Eyes are level and the mouth is centered
  • [ ] All yarn ends are woven in securely

Troubleshooting

  • Mesh slants or spirals: Join each round into the 3rd ch of the ch-5, not the 5th.
  • Tube is too narrow for the rolls: Your gauge is tight. Remake it with a 4.5 mm hook, keeping 20 blocks.
  • Head ruffles: Your increases are too loose. Go down a hook size.
  • Fin cups: You have too many tip stitches. Use exactly 3 sc at each shell center.
  • Rolls fall out the bottom: Repeat Rnd 29 once as a decrease round, [6 sc, sc2tog] 6 times (42), for a smaller opening.
  • Lid gapes: Add a small blue button at the front and use a ch-6 loop on the head as a closure.

Care

Hand wash in cool water and lay flat to dry, reshaping the fins while damp. Don’t tumble dry.

Blue crocheted bird toilet paper holder with cream wings and lattice body dispensing a roll.

Final Notes

Each step builds on the one before it. Your gauge sets the 60-stitch head base at 15 in (38.1 cm). The tube matches that with 20 mesh blocks of 3 sts. Its 21 mesh rounds give 12 in (30.5 cm), and the solid rounds bring the body to 14 in (35.6 cm). The 48-stitch opening holds the rolls in place, and the tan edging finishes the fins. If each checkpoint matches, the finished fish will measure 23.25 in (59.1 cm).

Happy crocheting!

Leave a Comment