Bubbles Fish Toilet Paper Holder Crochet Pattern

Bubbles is a cheerful fish that hangs on a wall hook and holds three spare rolls of toilet paper. A pointed teal head with big round eyes and puffy coral lips sits on top of a stretchy cream mesh body. Coral-edged fan fins and a leaf-shaped tail finish the fish look.

The palette is soft and coastal: light teal, cream, coral, white and a little black. It suits a beach-style bathroom, and it is a good stash-buster for worsted cotton.

This pattern uses US crochet terms. The finished holder measures about 5.1 in (13.0 cm) wide at the body and 21.5 in (54.6 cm) from the head tip to the base. With the hanging loop and tail, it is about 27.5 in (69.9 cm) long overall.

You will crochet the head in continuous rounds from the tip down. The body is a separate tube: a solid band, mesh rounds, then a solid base. The fins, tail lobes, eyes and lips are small pieces that you border and then sew on. The back half of the body is left unsewn so you can drop rolls in behind the head.

Finished Size and Construction

  • Finished size: 5.1 in (13.0 cm) body width; 27.5 in (69.9 cm) overall length
  • Skill level: Intermediate (simple stitches; most of the work is shaping and finishing)
  • Terminology: US
  • Yarn weight: Worsted (#4), cotton or cotton blend
  • Hooks: 4.0 mm (G-6) for solid parts; 5.0 mm (H-8) for the mesh
  • Number of pieces: 1 finished holder, made from 11 components: head, body, 2 fins, 2 tail lobes, 2 eye whites, 2 pupils and lips
  • Layout: stacked vertically. Head on top, body below, tail at the base, fins at the sides of the head
  • Head size: 16 in (40.6 cm) around at the opening, 8 in (20.3 cm) wide laid flat, 7 in (17.8 cm) tall
  • Fin size before border: 2 in (5.1 cm) radius; after border, 2.25 in (5.7 cm)
  • Tail lobe before border: 3.75 x 2.25 in (9.5 x 5.7 cm); after border, 4 x 2.75 in (10.2 x 7.0 cm)
  • Border depth: 0.25 in (0.6 cm), one coral round

Materials

Use a smooth worsted cotton with about 180 m per 100 g. Cotton holds its shape, keeps the mesh crisp and washes well. Acrylic also works, but the mesh will stretch more.

  • Light teal: 100 g (180 m) for the head, loop, fins and tail
  • Cream: 110 g (198 m) for the body
  • Coral: 20 g (36 m) for the borders and lips
  • White: 5 g (9 m) for the eyes
  • Black: 3 g (5 m) for the pupils

Tools:
– 4.0 mm (G-6) and 5.0 mm (H-8) hooks
– Stitch markers
– Tapestry needle
– Scissors
– A small amount of fiberfill for the lips
– Rust-proof pins

All quantities include a margin of about 15 percent.

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
  • MR: magic ring
  • st(s): stitch(es)
  • sp: space

Special stitch: mesh loop. Ch 5, then sc in the center of the next ch-5 loop. Each finished loop counts as 1 loop.

Gauge and Checkpoints

Solid gauge (4.0 mm hook): 18 sc and 20 rounds = 4 in (10.2 cm).

Mesh gauge (5.0 mm hook): 9 loops = 8 in (20.3 cm) around, and 6 rounds = 4 in (10.2 cm) tall, measured lightly stretched.

Make the eyes first as a gauge test. The 24-stitch white circle should measure 1.5 in (3.8 cm) across. If it is bigger, go down half a hook size; if it is smaller, go up half a size.

Checkpoints:
– Head after Rnd 16: the opening measures 16 in (40.6 cm) around.
– Finished head: 7 in (17.8 cm) tall.
– Body, 6 mesh rounds: 4 in (10.2 cm) of mesh.
– Finished mesh: 14 in (35.6 cm).
– Base: 5.1 in (13.0 cm) across.

Fix size problems before you go on. If the head opening is too wide, the body band will not match it stitch for stitch.

Handmade light-blue crochet bird with textured stitches, white-rimmed eyes, and coral mouth on wood.

Head (Light Teal, 4.0 mm Hook)

Work in continuous rounds. Move a marker up to the first stitch of each round.

  • Rnd 1: 6 sc in MR. (6)
  • Rnd 2: Sc in each st around. (6)
  • Rnd 3: (Sc, inc) 3 times. (9)
  • Rnd 4: Sc in each st around. (9)
  • Rnd 5: (2 sc, inc) 3 times. (12)
  • Rnd 6: (Sc, inc) 6 times. (18)
  • Rnd 7: Sc in each st around. (18)
  • Rnd 8: (2 sc, inc) 6 times. (24)
  • Rnd 9: (3 sc, inc) 6 times. (30)
  • Rnd 10: (4 sc, inc) 6 times. (36)
  • Rnd 11: (5 sc, inc) 6 times. (42)
  • Rnd 12: (6 sc, inc) 6 times. (48)
  • Rnd 13: (7 sc, inc) 6 times. (54)
  • Rnd 14: (8 sc, inc) 6 times. (60)
  • Rnd 15: (9 sc, inc) 6 times. (66)
  • Rnd 16: (10 sc, inc) 6 times. (72)

The slow increases in Rnds 1–7 make the pointed tip. The steady 6-per-round increases from Rnd 8 onward flare out into the cone.

  • Rnds 17–34: Sc in each st around. (72)

This is 18 straight rounds, about 3.6 in (9.1 cm) tall. Sl st to the next st and fasten off.

Place a marker in st 36 of Rnd 34. This is front center. The front half of the head is sts 19–54 (36 sts), and the back half is sts 55–72 plus 1–18 (36 sts).

Hanging loop: Join light teal at one side of Rnd 1. Ch 18, then sl st into the opposite side of Rnd 1. Work 24 sc over the chain and sl st to the base. The loop hangs about 2 in (5.1 cm) above the tip.

Body (Cream)

Band (4.0 mm hook):
– Ch 72 and join with a sl st, taking care not to twist the chain.
– Rnd 1: Ch 1, sc in each ch around, sl st to the first sc. (72)
– Rnd 2: Ch 1, sc in each st around, sl st to the first sc. (72)

The band matches the head opening stitch for stitch.

Mesh (switch to the 5.0 mm hook):
– Rnd 3: Ch 1, sc in the first st, (ch 5, skip 3 sts, sc in the next st) 17 times, ch 5, skip 3 sts, sl st to the first sc. (18 loops)
– Check: 72 sts ÷ 4 sts per repeat = 18 loops.
– Rnd 4: Sl st in each of the next 3 ch to reach the center of the first loop. Ch 1, sc in the same loop, (ch 5, sc in the next loop) 17 times, ch 5, sl st to the first sc. (18 loops)
– Rnds 5–23: Repeat Rnd 4. (18 loops)

That gives 21 mesh rounds, about 14 in (35.6 cm), which is enough for three standard rolls up to 4.3 in (10.9 cm) across, stacked.

Base (switch back to the 4.0 mm hook):
– Rnd 24 (conversion round): Sl st to the center of the first loop. Ch 1, then work 4 sc into each ch-5 loop around. (0 sts worked into existing sts + 72 sc worked into loops = 72)
– Check: 18 loops x 4 = 72.
– Rnd 25: (10 sc, sc2tog) 6 times. (66)
– Rnd 26: (9 sc, sc2tog) 6 times. (60)
– Rnd 27: (8 sc, sc2tog) 6 times. (54)
– Rnd 28: (7 sc, sc2tog) 6 times. (48)
– Rnd 29: (6 sc, sc2tog) 6 times. (42)
– Rnd 30: (5 sc, sc2tog) 6 times. (36)
– Rnd 31: (4 sc, sc2tog) 6 times. (30)
– Rnd 32: (3 sc, sc2tog) 6 times. (24)
– Rnd 33: (2 sc, sc2tog) 6 times. (18)
– Rnd 34: (Sc, sc2tog) 6 times. (12)
– Rnd 35: Sc2tog 6 times. (6)

Fasten off. Thread the tail through the front loops of the last 6 sts and pull tight to close.

The base is a flat disc 5.1 in (13.0 cm) across that cups the bottom roll. The body is about 14.5 in (36.8 cm) long in total.

Back tab (optional): Join cream at the stitch exactly opposite your front center on Rnd 2 of the band. Ch 12, sl st into the same st, then work 16 sc over the chain. Hang this tab on the hook too, so the loading opening stays open against the wall.

Fins (Make 2, Light Teal, 4.0 mm Hook)

These rows are worked flat in turned rows. The ch-3 at the start of each row counts as a dc.

  • Row 1: In MR, ch 3, 6 dc. Pull the ring closed and turn. (7)
  • Row 2: Ch 3, dc in the first st, 2 dc in each st across. Turn. (14)
  • Row 3: Ch 3, dc in the first st, dc in the next st, (2 dc in the next st, dc in the next st) 6 times. Turn. (21)
  • Row 4: Ch 3, dc in the first st, dc in the next 2 sts, (2 dc in the next st, dc in the next 2 sts) 6 times. (28)

Fasten off. You now have a half circle with a 2 in (5.1 cm) radius and a straight edge 4 in (10.2 cm) long.

Tail Lobes (Make 2, Light Teal, 4.0 mm Hook)

  • Rnd 1: Ch 14.
  • Starting in the 2nd ch from the hook: sc, hdc, dc in the next 2 ch, tr in the next 5 ch, dc in the next 2 ch, hdc, sc. (13 sts)
  • Ch 2 for the tip.
  • Working along the other side of the foundation chain: sc, hdc, dc in the next 2 ch, tr in the next 5 ch, dc in the next 2 ch, hdc, sc. (13 sts)
  • Sl st to the first sc. (26 sts, 13 per side, plus a ch-2 tip)
  • Rnd 2: Ch 1, sc in each of the next 13 sts, (sc, ch 2, sc) in the tip sp, sc in each of the next 13 sts, sl st to the first sc. (28 sc, 14 per side, plus a ch-2 tip)

The foundation chain runs down the middle of each lobe and forms the center spine. The tr stitches make it widest in the middle, and the sc at each end keep it pointed. Fasten off.

Eyes (Make 2) and Lips

Eye whites (white, 4.0 mm hook):
– Rnd 1: 6 sc in MR. (6)
– Rnd 2: Inc in each st around. (12)
– Rnd 3: (Sc, inc) 6 times. (18)
– Rnd 4: (2 sc, inc) 6 times. (24)

Sl st to the next st and fasten off. Each eye white measures 1.5 in (3.8 cm) across.

Pupils (black):
– Rnd 1: 6 sc in MR. (6)
– Rnd 2: Inc in each st around. (12)

Fasten off. Each pupil measures 0.8 in (2.0 cm). Sew one pupil to the center of each eye white.

Lips (coral):
– Rnd 1: Ch 7. Sc in the 2nd ch from the hook and in the next 4 ch, 3 sc in the last ch. Working along the other side of the chain, sc in the next 4 ch and 2 sc in the last ch. (14)
– Rnd 2: 2 sc in the first st, sc in the next 4 sts, 2 sc in each of the next 3 sts, sc in the next 4 sts, 2 sc in each of the last 2 sts. (20)

Fasten off and leave a long tail. The lips measure 2 x 1.2 in (5.1 x 3.0 cm).

Assembly

Work the coral borders on the fins and tail lobes first (see Border below), then assemble.

  1. Head to body. Line up head Rnd 34 with body band Rnd 2. Using cream yarn and whipstitch, sew only the front half, matching 36 head stitches to 36 band stitches one to one. Leave the back 36 stitches of both pieces unsewn. This makes the loading opening, which is 8 in (20.3 cm) across when laid flat.
  2. Eyes. Center the eyes on Rnd 25 of the head, at sts 27 and 45, so they sit 9 sts to either side of front center. Sew them around their edges.
  3. Lips. Stuff the lips lightly. Sew them on centered at front center, on Rnds 29–33. With coral yarn, backstitch along the foundation chain to make the center crease. This pinches the oval into an upper and a lower lip.
  4. Fins. Run a strand of teal through the row ends along each fin’s straight edge. Gather it to 1.25 in (3.2 cm). Sew this gathered base to the side of the head at st 18 or st 54, on Rnds 27–32, so the fin fans outward.
  5. Tail. Overlap the narrow base ends of the two lobes by 0.5 in (1.3 cm) to form a V and sew them together. Sew the joined base to the front of the body base, across Rnds 31–35, so the tail hangs below the body.

Border

Border gauge: 4.0 mm hook, 18 sc = 4 in (10.2 cm). The border adds 0.25 in (0.6 cm).

Fin border (coral, 1 row): With the right side facing, join coral in the first st of Row 4. Ch 1, then (sc in the next 6 sts, 2 sc in the next st) 4 times. (32 sc, curved edge only)

  • Check: 4 repeats x 7 sts = 28 sts used, and 28 + 4 increases = 32.
  • Why the math works: The radius grows from 2 in to 2.25 in, which is 1.125 times bigger. 28 x 1.125 = 31.5, so 32 sts keeps the edge flat without ruffling. Leave the straight edge unbordered, because it gets gathered.

Tail lobe border (coral, Rnd 3): Join coral in the first sc of Rnd 2. Ch 1, sc in each of the 14 sc, (sc, ch 2, sc) in the tip sp, sc in each of the 14 sc, sl st to the first sc. (30 sc, 15 per side, plus a ch-2 tip)

  • Check: each side has 14 existing stitches plus 1 tip stitch = 15.
  • Why the math works: The sides are almost straight, so 1 sc per stitch lies flat. The single extra sc on each side at the tip keeps the point sharp.

Final Blocking

  1. Wet the fins and tail lobes, then roll them in a towel to remove extra water.
  2. Pin the fins flat as half circles with a 2.25 in (5.7 cm) radius.
  3. Pin the tail lobes to 4 x 2.75 in (10.2 x 7.0 cm) with sharp tips.
  4. Lightly spritz the mesh, slide in three rolls and hang the holder up to dry so the loops even out.
  5. Shape the head cone by hand and let it dry over a rolled towel.
  6. Let everything dry completely before you sew it.

Final Quality-Control Checklist

  • [ ] Head Rnd 34 has 72 sts and the opening measures 16 in (40.6 cm).
  • [ ] The body has 18 loops in every mesh round.
  • [ ] Rnd 24 has 72 sc, and the base closes flat at 5.1 in (13.0 cm).
  • [ ] Exactly 36 stitches are sewn at the front and 36 are open at the back.
  • [ ] Fin borders have 32 sc; tail lobe borders have 15 sc per side.
  • [ ] The eyes are level and the lips are centered.
  • [ ] The hanging loop holds the full weight of three rolls.

Troubleshooting

  • Mesh slants or spirals: Make sure every round starts with sl sts to the loop center. If the slant is still there, chain more evenly.
  • Head opening too wide: Go down a hook size, or count your Rnd 16 again (it should have 72 sts).
  • Base cups up: Your decreases are too tight. Use a larger hook for the base only.
  • Fin border ruffles: Work 1 fewer increase in the border row.
  • Rolls won’t fit through the back: Unpick 4 more seam stitches on each side of the head-to-body seam.
  • Tail droops: Sew the V higher so it overlaps more of the base.

Care

Hand wash in cool water, press out the water in a towel, and dry flat or hanging with the rolls inside. Do not tumble dry, because the mesh may stretch.

Crocheted turquoise fish-shaped toilet paper holder with coral fins and mouth hangs in a bright, minimalist bathroom.

Final Notes

Here is the measurement chain. Gauge of 18 sc = 4 in (10.2 cm) gives a 72-stitch head opening of 16 in (40.6 cm). The body band also has 72 sts, which become 18 mesh loops, 21 rounds and 14 in (35.6 cm) of mesh. The base turns those loops back into 72 sc and closes to a 5.1 in (13.0 cm) disc. Bordered fins and tail lobes finish the fish at 27.5 in (69.9 cm) overall. Check each link in the chain and the parts will fit together without forcing.

Happy crocheting!

Leave a Comment