This calm bathroom storage set has three separate pieces: two identical teardrop hanging pockets and one round, straight-sided basket. The pockets hang from wall hooks by a corded loop and hold rolled washcloths or soap. The basket sits on the counter and holds pump bottles.
Everything is worked in one soft sage green cotton. The dense single crochet fabric helps the pockets keep their shape. The basket sides have evenly spaced horizontal ridges that give them a simple woven look. All instructions use US crochet terms.
Each finished pocket measures 7.75 in (19.7 cm) wide by 11.75 in (29.8 cm) tall, plus a 3 in (7.6 cm) hanging loop. The basket measures 5.5 in (14.0 cm) across and 5 in (12.7 cm) tall.
Each pocket is made from two panels:
– A full teardrop back panel, worked in rows from the tip down.
– A shorter, rounded front panel.
You join the two panels during the first border round, then a reverse single crochet round adds the corded edge. The basket is worked in joined rounds: first a flat circle for the base, then straight sides.
Finished Size and Construction
- Finished size, pocket: 7.75 in (19.7 cm) x 11.75 in (29.8 cm), plus 3 in (7.6 cm) loop
- Finished size, basket: 5.5 in (14.0 cm) diameter x 5 in (12.7 cm) tall
- Skill level: Easy
- Terminology: US
- Yarn weight: Worsted (#4) cotton
- Hook: 5.0 mm (H-8)
- Number of pieces: 3 finished items (2 pockets, 1 basket); each pocket has 2 panels
- Layout: Pockets hang side by side on two hooks; the basket stands alone
- Back panel size before border: 7 in (17.8 cm) x 11 in (27.9 cm)
- Front panel size: 7 in (17.8 cm) x 5 in (12.7 cm)
- Border depth: 0.375 in (1.0 cm) per side
Materials
Choose a smooth, firm worsted weight cotton or cotton blend. Cotton holds its shape when damp and doesn’t fuzz, which matters in a bathroom. Avoid very stretchy acrylic, because the pockets will sag under weight.
Yarn (one color, sage green):
– Each pocket: 40 g, about 70 yd (64.0 m)
– Basket: 50 g, about 90 yd (82.3 m)
– Total for the set: 130 g, about 230 yd (210.3 m)
These quantities include a margin of about 25 percent for swatching and gauge differences.
Tools:
– 5.0 mm (H-8) crochet hook
– At least 2 stitch markers
– Yarn needle and scissors
– Tape measure
– Rust-proof pins and a blocking surface
Abbreviations (US Terms)
- ch – chain
- sc – single crochet
- sc2tog – single crochet 2 together
- sl st – slip stitch
- BLO – back loop only
- rev sc – reverse single crochet
- st(s) – stitch(es)
- rnd – round
- inc – 2 sc in the same stitch
Reverse single crochet (rev sc): Work from left to right (if you’re right-handed). Insert the hook into the next stitch to the right, yarn over and pull up a loop, then yarn over and pull through both loops. Each stitch twists into a rope-like corded edge.
Increase row: Ch 1, turn. Work 2 sc in the first st, sc in each st to the last st, then 2 sc in the last st. (+2 sts)
Decrease row: Ch 1, turn. Sc2tog, sc in each st to the last 2 sts, sc2tog. (–2 sts)
Double decrease row: Ch 1, turn. Sc2tog twice, sc in each st to the last 4 sts, sc2tog twice. (–4 sts)
The turning ch 1 never counts as a stitch.
Gauge and Checkpoints
Gauge: 14 sc and 16 rows = 4 in (10.2 cm). That works out to 3.5 sts and 4 rows per 1 in (2.5 cm).
Test one piece first. Make one back panel before anything else, because it uses every stitch in the pattern and has clear measuring points.
Measure at these checkpoints:
– Back panel Row 33: 25 sts, 7 in (17.8 cm) wide, 8.25 in (21.0 cm) long
– Back panel Row 44: 11 in (27.9 cm) long
– Front panel Row 20: 5 in (12.7 cm) long, 7 in (17.8 cm) at its widest
– Basket Rnd 10: 5.5 in (14.0 cm) across
– Basket Rnd 30: sides 5 in (12.7 cm) tall
If your piece is too big, go down 0.5 mm in hook size. If it’s too small, go up 0.5 mm. Don’t change any stitch counts, because the joining and border math depend on them. Firm tension is a good thing here, since a tight fabric holds weight better.

Teardrop Pocket: Back Panel (make 2)
The back panel starts at the pointed tip, widens toward the bottom, then curves closed.
Row 1: Ch 2, 3 sc in 2nd ch from hook. (3 sts)
Row 2: Ch 1, turn, sc across. (3 sts)
Row 3: Increase row. (5 sts)
Rows 4–5: Ch 1, turn, sc across. (5 sts)
Keep repeating 1 increase row followed by 2 plain rows through Row 33. The stitch count after each increase row is:
| Row | 6 | 9 | 12 | 15 | 18 | 21 | 24 | 27 | 30 | 33 |
|---|---|---|---|---|---|---|---|---|---|---|
| Sts | 7 | 9 | 11 | 13 | 15 | 17 | 19 | 21 | 23 | 25 |
Checkpoint: 25 sts, 7 in (17.8 cm) wide, 8.25 in (21.0 cm) long.
Rows 34–36: Ch 1, turn, sc across. (25 sts)
Rows 37–42: Work 6 decrease rows. The counts are 23, 21, 19, 17, 15, then 13 sts.
Row 43: Double decrease row. (9 sts)
Row 44: Double decrease row. (5 sts)
Fasten off and weave in the tail. The panel is now 11 in (27.9 cm) long with a rounded bottom.
Teardrop Pocket: Front Panel (make 2)
The front panel copies back panel Rows 25–44, but upside down, starting from a straight edge. That straight edge becomes the pocket opening.
Row 1: Ch 20, sc in 2nd ch from hook and in each ch across. (19 sts)
Row 2: Ch 1, turn, sc across. (19 sts)
Row 3: Increase row. (21 sts)
Rows 4–5: Sc across. (21 sts)
Row 6: Increase row. (23 sts)
Rows 7–8: Sc across. (23 sts)
Row 9: Increase row. (25 sts)
Rows 10–12: Sc across. (25 sts)
Rows 13–18: Work 6 decrease rows. The counts are 23, 21, 19, 17, 15, then 13 sts.
Row 19: Double decrease row. (9 sts)
Row 20: Double decrease row. (5 sts)
Fasten off.
Opening edge: Turn the panel so the foundation chain is at the top. Join yarn at the right corner, ch 1, and work 1 rev sc in each free loop of the chain. (19 rev sc) Fasten off and weave in the ends.
Checkpoint: 5 in (12.7 cm) tall and 7 in (17.8 cm) at its widest. Laid on the back panel, its outline should match the back from Row 25 down.
Basket (make 1)
Work in joined rounds without turning. The ch 1 at the start of each round doesn’t count as a stitch. Join each round with a sl st to the first sc.
Base
Rnd 1: 6 sc in a magic ring. (6 sts)
Rnd 2: Inc in each st around. (12 sts)
Rnd 3: (Sc in next st, inc) 6 times. (18 sts)
Rnd 4: (Sc in next 2 sts, inc) 6 times. (24 sts)
Rnd 5: (Sc in next 3 sts, inc) 6 times. (30 sts)
Rnd 6: (Sc in next 4 sts, inc) 6 times. (36 sts)
Rnd 7: (Sc in next 5 sts, inc) 6 times. (42 sts)
Rnd 8: (Sc in next 6 sts, inc) 6 times. (48 sts)
Rnd 9: (Sc in next 7 sts, inc) 6 times. (54 sts)
Rnd 10: (Sc in next 8 sts, inc) 6 times. (60 sts)
Checkpoint: the base lies flat and measures 5.5 in (14.0 cm) across.
Sides
Rnd 11 (turning round): Sc in BLO of each st around. (60 sts) The unused front loops make a crisp fold where the base meets the sides.
Rnds 12–13: Sc in each st around. (60 sts)
Rnd 14 (ridge round): Sc in BLO of each st around. (60 sts)
Repeat Rnds 12–14 five more times. The ridge rounds will fall on Rnds 17, 20, 23, 26 and 29. Rnd 30 is a plain sc round. Every round has 60 sts.
On each ridge round, the unworked front loops stay on the outside as a raised horizontal line. That gives you the six evenly spaced ridges.
Rnd 31: Loosely sl st in each st around. (60 sl sts) Fasten off and weave in the ends.
Checkpoint: Rnds 11–30 make 20 rounds. At 4 rounds per inch, that’s 5 in (12.7 cm) of side height.
Make All Pieces
You need these pieces, all in sage green:
– 2 back panels (about 30 g each)
– 2 front panels (about 10 g each, including border yarn)
– 1 basket (about 50 g)
Display layout:
[Hook 1] [Hook 2]
Pocket A Pocket B
(washcloths) (soap)
Counter: [ Basket ] (bottles)
The pockets aren’t joined to each other or to the basket. Each pocket is assembled only from its own two panels.
Joining (Pocket Panels)
You join the two panels with single crochet through both layers, as part of Border Rnd 1.
Placement: Lay the back panel right side up. Place the front panel on top, also right side up. Line up front Row 1 with back Row 25, and front Row 20 with back Row 44. Pin at both top corners and at the bottom center.
Stitch-to-stitch logic: The two panels have the same width row for row, so every row-end and every bottom stitch has an exact partner. Work 1 sc through each matched pair. That’s 20 sc down one side, 5 sc across the bottom and 20 sc up the other side, for 45 joining sts. No stitches are added at the seams.
Tension: Keep the joining stitches the same height as your fabric. Push the hook fully through both layers every time, or a gap will open at the side. If the seam ripples, your stitches are too loose.
Checkpoint: after joining, the pocket still measures 7 in (17.8 cm) by 11 in (27.9 cm).
Border
Border gauge: One sc round plus one rev sc round adds 0.375 in (1.0 cm) to every side.
Rnd 1 (sc and join): With the front panel facing you, join yarn at the tip of the back panel. Then work around the pocket in this order:
– Right side, back only: 1 sc in each row-end of back Rows 1–24. (24 sts)
– Right side, joined: 1 sc through both layers in each matched row-end. (20 sts)
– Bottom, joined: 1 sc through both layers in each bottom st. (5 sts)
– Left side, joined: 1 sc through both layers in each matched row-end. (20 sts)
– Left side, back only: 1 sc in each row-end up to the tip. (24 sts)
– Tip: 3 sc in the tip st. (3 sts)
Join with a sl st. Total: 96 sts (24 + 20 + 5 + 20 + 24 + 3).
Rnd 2: Ch 1, rev sc in each st around. (96 sts) Join with a sl st, but don’t fasten off yet.
Hanging loop:
1. Ch 25.
2. Sl st in 2nd ch from hook and in each ch back down the chain. (24 sl sts)
3. Fold the cord into a loop and sl st its end into the tip st.
4. Fasten off, leaving a 12 in (30.5 cm) tail.
5. Wrap the tail tightly 8 to 10 times around the base of the loop.
6. Thread the tail under the wraps and weave it in.
The finished loop is about 3 in (7.6 cm) long.
Why the math works: The sloped sides of the teardrop are slightly longer than their row height. One sc per row-end fits that slope with gentle compression, so the edge stays firm without ruffling. The 3 sc at the tip turn the point. The decreases in Rows 37–44 already round the bottom, so no extra stitches are needed there. The finished width is 7 + 0.375 + 0.375 = 7.75 in (19.7 cm), and the height is 11 + 0.375 + 0.375 = 11.75 in (29.8 cm).
The basket needs no separate border, because its sl st round finishes the top edge.
Final Blocking
- Weave in all tails securely.
- Soak each piece in cool water for 10 minutes, then gently press out the water. Don’t wring.
- Roll each piece in a towel to remove extra moisture.
- Pin each pocket flat to 7.75 in (19.7 cm) by 11.75 in (29.8 cm). Shape a clean point at the tip and a smooth curve at the bottom.
- Stuff the basket firmly with a towel so the sides stand straight at 5 in (12.7 cm).
- Let everything dry completely, which usually takes about 24 hours.
Final Quality-Control Checklist
- Back panel: 44 rows, ending with 5 sts
- Front panel: 20 rows, ending with 5 sts, with a 19 rev sc opening edge
- Border Rnds 1 and 2: 96 sts each
- Pocket: 7.75 in (19.7 cm) x 11.75 in (29.8 cm)
- Hanging loop: about 3 in (7.6 cm), with a tight wrap
- Basket: 60 sts, six ridges, 5 in (12.7 cm) tall
- All tails hidden
Troubleshooting
Front and back panels don’t line up. A missed increase row is the usual cause. Check your work against the stitch counts above.
There’s a gap at the side of the pocket. You missed a layer while joining. Pull back to the gap and rework through both layers.
The basket sides flare out. Your side rounds are looser than your base. Go down 0.5 mm in hook size for Rnds 11–31.
The basket base cups. Your base is too tight. Use a hook 0.5 mm larger for Rnds 1–10.
The pocket sags. Your fabric is too open. Work at a tighter gauge or use a firmer cotton.
Care
Hand wash in cool water with mild soap, reshape while damp and lay flat to dry. Avoid high dryer heat, because it can shrink cotton.

Final Notes
Here’s how the measurements connect. A gauge of 14 sc and 16 rows per 4 in (10.2 cm) gives a 25-st, 44-row back panel that measures 7 in (17.8 cm) by 11 in (27.9 cm). The front panel matches back Rows 25–44 stitch for stitch, so joining adds nothing. The 96-st border adds 0.375 in (1.0 cm) per side, for a 7.75 in (19.7 cm) by 11.75 in (29.8 cm) pocket. On the basket, the 60-st base reaches 5.5 in (14.0 cm), and 20 side rounds rise to 5 in (12.7 cm).
Happy crocheting!