Terracotta Tulip Hanging Toilet Paper Holder Crochet Pattern

This hanging holder has three cozy baskets, each with a peach tulip on the front. The baskets are worked in a warm caramel-terracotta brown, the tulips in soft salmon peach, and the leaves in olive green. The look is earthy and calm, and it fits a neutral bathroom well.

The pattern uses US crochet terms throughout. The finished holder is about 6.5″ (16.5 cm) wide. It measures about 15.75″ (40.0 cm) from the bottom of the lowest basket to the top of the dowel, and about 17.75″ (45.1 cm) to the tips of the top tulips. Each basket holds one standard roll, about 4.5″ (11.4 cm) across, lying on its side.

Here is how it’s built. You crochet three oval baskets from the bottom up in joined rounds of single crochet. Next you make two flat straps and sew them to the side ends of the baskets, then finish each basket with a two-round rim. Last, you sew on the tulips and leaves and slide the straps over a wooden dowel.

All the stitch counts below are planned to match each other, so the straps line up with the basket rounds one-to-one.

Finished Size and Construction

  • Finished size: 6.5″ (16.5 cm) wide × 17.75″ (45.1 cm) tall, including the top tulips
  • Skill level: Easy–Intermediate
  • Terminology: US crochet terms
  • Yarn weight: Bulky (#5)
  • Hook: 6 mm (US J-10)
  • Number of pieces: 3 baskets, 2 straps, 3 large tulips, 2 small tulips, 6 large leaves, 4 small leaves
  • Layout: 3 baskets stacked vertically, joined by 2 side straps
  • Basket size: base 6″ × 4″ (15.2 × 10.2 cm); circumference 16″ (40.6 cm)
  • Basket wall before rim: 3″ (7.6 cm)
  • Rim (border) depth: 0.5″ (1.3 cm), for a finished wall of 3.5″ (8.9 cm)
  • Strap size: 20″ × 1″ (50.8 × 2.5 cm)

Materials

Use a smooth bulky yarn that holds its shape. A cotton blend or acrylic works best. Very soft, fuzzy yarns make floppy baskets.

  • Caramel brown (main color): 300 g, about 360 m (394 yd)
  • Salmon peach (tulips): 30 g, about 36 m (39 yd)
  • Olive green (leaves): 30 g, about 36 m (39 yd)

All quantities include a margin of about 10–15%.

Tools:
– 6 mm (US J-10) crochet hook
– Tapestry needle
– 6 stitch markers
– Wooden dowel, 10″ (25.4 cm) long and 1″ (2.5 cm) thick
– 24″ (61.0 cm) of cotton cord for hanging
– Scissors, measuring tape, pins
– 3 toilet paper rolls or small folded towels for blocking

Abbreviations (US Terms)

  • ch – chain
  • sl st – slip stitch
  • sc – single crochet
  • hdc – half double crochet
  • dc – double crochet
  • inc – 2 sc in the same stitch
  • BLO – back loop only
  • st(s) – stitch(es)
  • rnd – round

Special stitch: reverse sc (crab stitch). Without turning, insert your hook into the next stitch to the right (to the left if you crochet left-handed). Yarn over, pull up a loop, then yarn over and pull through both loops. This makes a corded, rolled edge.

Gauge and Checkpoints

Gauge: 12 sc and 12 rows/rnds = 4″ (10.2 cm) in sc with the 6 mm hook.

To swatch, ch 13 and work 12 sc per row for 12 rows. Measure the swatch only after it has rested.

Make one basket completely before you start the others. Use these checkpoints:

  • After Rnd 6 (base): about 6″ × 4″ (15.2 × 10.2 cm), lying flat
  • After Rnd 15 (walls): wall height 3″ (7.6 cm); circumference 16″ (40.6 cm)
  • After the rim: wall height 3.5″ (8.9 cm)
  • Strap: 20″ (50.8 cm) long and 1″ (2.5 cm) wide

If your piece is too big, change to a 5.5 mm hook. If it’s too small, change to a 6.5 mm hook. Don’t fix size by adding or removing stitches, because the strap-to-round matching depends on 3 stitches and 3 rounds per inch.

A crocheted peach tulip with olive leaves and brown stem wrapped around a wooden dowel hangs from cream rope.

Basket (Make 3)

Use caramel brown. Work in joined rounds: join each round with a sl st to the first sc, then ch 1. The ch 1 does not count as a stitch.

Base

Ch 9.

Rnd 1: Sc in 2nd ch from hook, sc in next 6 ch, 3 sc in last ch. Turn the work so you’re crocheting along the opposite side of the chain. Sc in next 6 ch, then 2 sc in the last ch (the same ch as your first sc). Join. (18 sts)

Rnd 2: Inc in first st, sc in next 6, inc in each of next 3, sc in next 6, inc in each of last 2. Join. (24 sts)

Rnd 3: (Sc, inc) once, sc in next 6, (sc, inc) 3 times, sc in next 6, (sc, inc) twice. Join. (30 sts)

Rnd 4: (Sc in next 2, inc) once, sc in next 6, (sc in next 2, inc) 3 times, sc in next 6, (sc in next 2, inc) twice. Join. (36 sts)

Rnd 5: (Sc in next 3, inc) once, sc in next 6, (sc in next 3, inc) 3 times, sc in next 6, (sc in next 3, inc) twice. Join. (42 sts)

Rnd 6: (Sc in next 4, inc) once, sc in next 6, (sc in next 4, inc) 3 times, sc in next 6, (sc in next 4, inc) twice. Join. (48 sts)

Checkpoint: the base should measure 6″ × 4″ (15.2 × 10.2 cm).

Walls

Rnd 7: Sc in BLO of each st around. Join. (48 sts) This round makes a crisp fold where the base meets the wall.

Rnds 8–15: Sc in each st around. Join. (48 sts each round)

Don’t fasten off yet. Pull up a long loop and put a stitch marker in it so it can’t unravel. Checkpoint: the walls are 3″ (7.6 cm) tall (9 rounds) and the circumference is 16″ (40.6 cm).

Marking the halves: Flatten the basket so the long sides face front and back. Count 24 stitches on the front and 24 on the back. Put a marker at each of the two folds. These are the side ends, where the straps will go.

Strap (Make 2)

Use caramel brown.

Ch 61.

Row 1: Sc in 2nd ch from hook and in each ch across. (60 sts)

Rows 2–3: Ch 1, turn, sc in each st across. (60 sts each row)

Fasten off and leave a 40″ (101.6 cm) tail for sewing. The strap measures 20″ × 1″ (50.8 × 2.5 cm).

Strap stitch map (counting from the starting end, which is the bottom):

  • Sts 1–10: bottom basket
  • Sts 11–14: gap
  • Sts 15–24: middle basket
  • Sts 25–28: gap
  • Sts 29–38: top basket
  • Sts 39–44: drop to the dowel
  • Sts 45–54: loop around the dowel
  • Sts 55–60: tail, folded down and sewn behind the drop

Large Tulip (Make 3)

Bloom (salmon peach)

Ch 4.

Row 1: Sc in 2nd ch from hook and in next 2 ch. (3 sts)

Row 2: Ch 1, turn. Inc in first st, sc in next st, inc in last st. (5 sts)

Row 3: Ch 1, turn. Inc in first st, sc in next 3, inc in last st. (7 sts)

Rows 4–5: Ch 1, turn. Sc in each st across. (7 sts each row)

Row 6 (petal row): Ch 3, turn (the ch 3 counts as a dc). Then work:
– hdc in next st
– sl st in next st
– (hdc, dc, hdc) in next st
– sl st in next st
– hdc in next st
– dc in last st

Count: 7 stitches worked one per stitch, plus 2 extra = 9 sts.

This row makes three pointed petals: a side petal at each edge and a center petal, with sl st dips between them. The bloom is 2⅓” (5.9 cm) wide and 2.25″ (5.7 cm) tall.

Large leaf (olive green, make 2 per tulip)

Ch 8. Working into the chain:
1. Starting in the 2nd ch from hook: sl st, sc, hdc, dc, dc, hdc, sc. (7 sts)
2. Ch 1.
3. Working along the other side of the chain: sc, hdc, dc, dc, hdc, sc, sl st. (7 sts)
4. At the tip: (sl st, ch 2, sl st).

Each leaf has 14 sts plus the chain spaces. Working both sides of the chain leaves a visible center vein. The leaf is 2⅓” (5.9 cm) long.

Small Tulip (Make 2)

Bloom (salmon peach)

Ch 4.

Row 1: Sc in 2nd ch from hook and in next 2 ch. (3 sts)

Row 2: Ch 1, turn. Inc in first st, sc in next st, inc in last st. (5 sts)

Row 3: Ch 1, turn. Sc in each st across. (5 sts)

Row 4 (petal row): Ch 2, turn (the ch 2 counts as an hdc). Then work:
– sl st in next st
– (hdc, dc, hdc) in next st
– sl st in next st
– hdc in last st

Count: 5 stitches worked one per stitch, plus 2 extra = 7 sts.

The small bloom is 1⅔” (4.2 cm) wide and 1.5″ (3.8 cm) tall.

Small leaf (olive green, make 2 per tulip)

Ch 6.
1. Starting in the 2nd ch from hook: sl st, sc, hdc, hdc, sc. (5 sts)
2. Ch 1.
3. Along the other side of the chain: sc, hdc, hdc, sc, sl st. (5 sts)
4. At the tip: (sl st, ch 2, sl st).

Each small leaf has 10 sts and is 1⅔” (4.2 cm) long.

Make All Pieces

Piece Quantity Color
Baskets 3 Caramel brown
Straps 2 Caramel brown
Large blooms 3 Salmon peach
Small blooms 2 Salmon peach
Large leaves 6 Olive green
Small leaves 4 Olive green

Layout (front view):

   [small tulip]                    [small tulip]
 ============ dowel 10" (25.4 cm) ============
   strap |                          | strap
   strap |   BASKET 1 (top)         | strap
   strap |       4-st gap           | strap
   strap |   BASKET 2 (middle)      | strap
   strap |       4-st gap           | strap
   strap |   BASKET 3 (bottom)      | strap

Joining

Method: Whipstitch with the strap tail. Lay each strap flat against a basket side end, centered over the side marker. Sew down both long edges of the strap.

Stitch-to-stitch logic: The strap and the basket walls have the same gauge: 3 stitches per inch along the strap and 3 rounds per inch up the wall. That means 1 strap stitch matches 1 basket round.

  1. Bottom basket: Sew strap sts 1–9 to Rnds 7–15. Strap st 1 sits on Rnd 7, at the base fold. Strap st 10 stays loose for now. You’ll tack it to Rim Rnd 1 later.
  2. Middle basket: Sts 11–14 form the gap. Sew sts 15–23 to Rnds 7–15. St 24 waits for the rim.
  3. Top basket: Sts 25–28 form the gap. Sew sts 29–37 to Rnds 7–15. St 38 waits for the rim.
  4. Repeat for the second strap on the other side ends.

Tension advice: Sew firmly, but don’t pull so tight that the wall puckers. Before each basket, pin the strap at its first and last stitch so it can’t creep up or down.

Size checkpoint: Each 4-stitch gap measures 1⅓” (3.4 cm). From the base of the bottom basket to strap st 38 measures 12⅔” (32.2 cm).

Border (Basket Rim)

Work this on each basket after joining. Pick up the loop you left at Rnd 15.

Border gauge: Same as the body, 12 sts = 4″ (10.2 cm).

Rim Rnd 1: Ch 1. Sc in each st around: 24 sts on the front half and 24 sts on the back half. Join. (48 sts) Work only into the basket stitches. The straps sit outside the wall.

Rim Rnd 2: Ch 1. Reverse sc in each st around: 24 on the front and 24 on the back. Join. (48 sts)

Fasten off and weave in the ends. Then tack each loose strap stitch (st 10, 24 or 38) to Rim Rnd 1 beside it.

Why the math works:
– Both rim rounds keep the 48 stitches of the wall, worked one per stitch, so the rim stays straight and the circumference stays 16″ (40.6 cm).
– Rnds 7–15 plus Rim Rnd 1 make 10 rounds, which is exactly 10 strap stitches, or 3⅓” (8.5 cm).
– The reverse sc round adds the last bit of height for a 0.5″ (1.3 cm) rim.

Top section:
1. Fold strap sts 45–54 over the dowel.
2. Bring tail sts 55–60 down behind sts 39–44 and whipstitch them in place.
3. Tie the cord to both ends of the dowel.

Appliqués:
– Large tulips: Sew each one to a basket front, centered on the front 24 stitches between Rnds 9 and 15. Tuck one leaf under each side of the bloom base, angled up and out.
– Small tulips: Sew each one to the front of a strap loop at the top of the dowel, with the bloom above the dowel and a small leaf on each side.

Final Blocking

  1. Put a roll or a folded towel in each basket so the oval stays open.
  2. Lightly mist the baskets, rims and appliqués with water.
  3. Smooth the tulip petals into points and flatten the leaves along their center veins.
  4. Lay the holder flat. Check that both straps are the same length and that the gaps are 1⅓” (3.4 cm).
  5. Let it dry completely, then hang it.

Final Quality-Control Checklist

  • Each basket has 48 sts and is 16″ (40.6 cm) around
  • Walls are 3.5″ (8.9 cm) tall, including the rim
  • Each strap is 20″ (50.8 cm) long, with 60 sts
  • Strap stitches match basket rounds 1:1, and the strap bottoms line up with the base folds
  • All gaps measure 1⅓” (3.4 cm)
  • Tulips are centered, and the leaves are the same on both sides
  • Dowel loops are sewn securely
  • All ends are woven in

Troubleshooting

  • Base cups or ruffles: Your tension changed. Check your gauge and redo Rnds 1–6.
  • Basket tilts when hung: The straps were sewn at different heights. Unpick and re-pin st 1 at the base fold.
  • Rim flares: You added stitches. Recount to 48.
  • Petals are rounded, not pointed: Pull the dc in each (hdc, dc, hdc) group snug, then shape the petals while blocking.
  • Strap stretches: Use a hook 0.5 mm smaller for the straps only, but keep 60 sts.

Care

Remove the rolls and hand wash in cool water. Reshape and lay flat to dry.

Crocheted tan toilet paper holder with pink tulip pockets holding white rolls, hanging beside a bathroom toilet.

Final Notes

Here’s the measurement chain:
– Gauge: 3 sts and 3 rnds per inch
– Base: 48 sts, 6″ × 4″ (15.2 × 10.2 cm)
– Walls: 3″ (7.6 cm) tall before the rim and 3.5″ (8.9 cm) after it
– Straps: 60 sts, 20″ (50.8 cm), matched 1:1 to the basket rounds
– Finished holder: 6.5″ × 17.75″ (16.5 × 45.1 cm)

If you check each link in that chain as you go, the finished holder will hang straight.

Happy crocheting!

Leave a Comment