This pattern makes a three-tier hanging organizer. It has three oval baskets with solid sage-green bases, open cream lattice sides and scalloped sage rims. Each basket holds two standard toilet paper rolls side by side, and the whole piece hangs from one hook.
The colors are soft sage and warm cream, which suit a calm bathroom. The lattice keeps the baskets light and lets the rolls show through. The shell rim gives each tier a neat, finished top edge.
The pattern uses US crochet terms. Each basket measures 10 in (25.4 cm) long, 5 in (12.7 cm) wide and 5.5 in (14.0 cm) tall. The assembled hanger is 12 in (30.5 cm) wide at the dowel and about 31 in (78.7 cm) long from the top of the hanging loop to the bottom of the lowest basket.
Construction is straightforward. You work each oval base in the round, turn up the sides with a back-loop round and build a chain-loop diamond mesh. Then you close the mesh with a single crochet round and finish with a two-round shell rim. Small ring tabs go on the basket ends, and two cords thread through the rings and wrap around a wooden dowel.
Finished Size and Construction
- Basket size: 10 in (25.4 cm) long x 5 in (12.7 cm) wide x 5.5 in (14.0 cm) tall
- Hanger size: 12 in (30.5 cm) wide x about 31 in (78.7 cm) long
- Skill level: Intermediate
- Terminology: US
- Yarn weight: Worsted (#4) cotton
- Hook: 5.0 mm (H-8)
- Number of pieces: 3 baskets, 6 ring tabs, 2 cords, plus 1 dowel
- Layout: 3 baskets stacked in a single vertical column
- Piece size (basket before rim): 10 in (25.4 cm) x 5 in (12.7 cm) x 4.5 in (11.4 cm) tall
- Rim depth: 1 in (2.5 cm)
Materials
Use a smooth worsted-weight cotton or cotton blend. Cotton holds the basket’s shape, resists stretching under the weight of the rolls and handles bathroom humidity well. Avoid fuzzy or very stretchy yarns, because they blur the lattice and let the baskets sag.
- Sage green: 110 g, about 210 m (bases, rims and tabs)
- Cream: 90 g, about 170 m (lattice sides and cords)
These quantities include a margin of about 15% for gauge differences and the gauge swatch.
Tools:
– 5.0 mm (H-8) crochet hook
– Wooden dowel, 12 in (30.5 cm) long and 0.5 in (1.3 cm) in diameter
– Tapestry needle
– 8 stitch markers
– Measuring tape
– Scissors
– Spray bottle and two clean towels for blocking
Abbreviations (US Terms)
- ch – chain
- sl st – slip stitch
- sc – single crochet
- dc – double crochet
- BLO – back loop only
- sk – skip
- st(s) – stitch(es)
- rnd – round
Special stitch: Shell – 5 dc worked into the same stitch.
Gauge and Checkpoints
Gauge: 14 dc and 8 rounds = 4 in (10.2 cm), worked in rounds with the 5.0 mm hook. That is 3.5 stitches per inch.
Make one complete basket before you start the others. It is your real gauge test, and it tells you whether two rolls fit.
Checkpoints:
– After Base Rnd 5: about 10 in (25.4 cm) x 5 in (12.7 cm).
– After Side Rnd 1: the circumference is about 27.4 in (69.6 cm).
– After Side Rnd 8: the sides stand about 4 in (10.2 cm) tall.
– After Side Rnd 9: the sides are 4.5 in (11.4 cm) tall.
– After the rim: the basket is 5.5 in (14.0 cm) tall.
If your base is too big (over 10.25 in / 26.0 cm long), go down to a 4.5 mm hook. If it is too small (under 9.75 in / 24.8 cm), go up to a 5.5 mm hook. If the base ruffles, your dc are loose. If it cups, they are tight. Fix the base first, because every later stitch count depends on it.

Basket Base (Sage, make 3)
Each round begins with ch 2, which does not count as a stitch. Join each round with a sl st to the first dc. Each round is worked in this order: end A, long side, end B, long side.
Foundation: With sage, ch 21.
Rnd 1: 6 dc in 3rd ch from hook, dc in next 17 ch, 6 dc in last ch. Rotate and work along the opposite side of the foundation: dc in next 17 ch. Join. (46 sts: 6 + 17 + 6 + 17)
Rnd 2: Ch 2, 2 dc in each of next 6 sts, dc in next 17, 2 dc in each of next 6 sts, dc in next 17. Join. (58 sts: 12 + 17 + 12 + 17)
Rnd 3: Ch 2, [dc in next st, 2 dc in next st] 6 times, dc in next 17, [dc in next st, 2 dc in next st] 6 times, dc in next 17. Join. (70 sts: 18 + 17 + 18 + 17)
Rnd 4: Ch 2, [dc in next 2 sts, 2 dc in next st] 6 times, dc in next 17, [dc in next 2 sts, 2 dc in next st] 6 times, dc in next 17. Join. (82 sts: 24 + 17 + 24 + 17)
Rnd 5: Ch 2, [dc in next 3 sts, 2 dc in next st] 6 times, dc in next 17, [dc in next 3 sts, 2 dc in next st] 6 times, dc in next 17. Join. (94 sts: 30 + 17 + 30 + 17)
Rnd 6 (edge round): Ch 1, sc in each st around. Join to the first sc. (94 sc: 30 + 17 + 30 + 17)
Fasten off sage. The base now has a firm outline round and lies flat at 10 in (25.4 cm) x 5 in (12.7 cm). Here is why the length works: 17 straight stitches at 3.5 per inch come to 4.9 in (12.4 cm), and the two rounded ends add the 5 in (12.7 cm) width. Together that gives about 9.9 in (25.1 cm), which rounds to 10 in.
Basket Sides (Cream)
Side Rnd 1 (turning and conversion round): Join cream in the first st of Rnd 6. Ch 1. Working in BLO: sc in next 14 sts, 2 sc in next st, sc in next 15 sts (end A done), sc in next 17 sts, sc in next 14 sts, 2 sc in next st, sc in next 15 sts (end B done), sc in next 17 sts. Join.
(94 sc worked 1 per existing stitch + 2 increases = 96 sc: 31 + 17 + 31 + 17)
The unused front loops of Rnd 6 make a crisp sage ridge where the sides turn up. The 2 extra stitches give a count of 96, which divides evenly by the mesh repeat of 4.
Side Rnd 2 (setup mesh): Ch 1, sc in first st, ch 5, sk 3, sc in next st, ch 5, sk 3. Repeat from * around. To finish, ch 2 and dc in the first sc instead of the last ch-5. (24 loops)
The ch-2 + dc counts as the last loop and leaves your hook in the middle of it, ready for the next round.
Side Rnds 3–8: Ch 1, sc in the loop formed by the joining dc, ch 5, sc in next ch-5 loop. Repeat from * around. To finish, ch 2 and dc in the first sc. (24 loops each round)
Each round shifts the sc to the middle of the loops below, which forms the diamonds. Lightly press the sides up against the base as you go. The sides now measure about 4 in (10.2 cm) tall.
Side Rnd 9 (closing round): Ch 1, work 4 sc in each loop around. Count the joining ch-2 + dc as a loop. Join.
(24 loops x 4 sc = 96 sc: 31 + 17 + 31 + 17)
Fasten off cream. The sides now stand 4.5 in (11.4 cm) tall.
Make All Pieces
Totals:
– 3 bases (sage)
– 3 lattice sides (cream)
– 3 rims (sage)
– 6 ring tabs (sage)
– 2 cords (cream)
Ring tab (sage, make 6): Ch 6 and sl st to the first ch to form a ring. Ch 7 for the stem. Sc in 2nd ch from hook and in the next 5 ch (6 sc). Work 12 sc around the ring, then sc in the 6 ch on the other side of the stem (6 sc). Join. (24 sc: 6 + 12 + 6)
Each tab is about 2.25 in (5.7 cm) long. The stem is about 1.7 in (4.3 cm), and the padded ring opening is about 0.5 in (1.3 cm). Leave a 10 in (25.4 cm) tail for sewing.
Cord (cream, make 2): Hold two strands of cream together and ch 106. Sl st in the back bump of the 2nd ch from hook and each ch across. (105 sl st) Each cord measures 30 in (76.2 cm). Measure the first 10 ch, which should be about 3 in (7.6 cm), and adjust the chain count if needed.
Layout (vertical):
/\ hanging loop (cords joined)
/ \
============== dowel, 12 in
| |
[ Basket 1 ] top tier
| 3 in |
[ Basket 2 ] middle tier
| 3 in |
[ Basket 3 ] bottom tier
Joining
Tabs to baskets: Center one tab on the outside of each curved end, with the stem vertical and the ring pointing up. Whipstitch the stem through the rim’s base round and the top of the lattice so that the ring sits 0.75 in (1.9 cm) above the top edge of the rim. Sew stitch to stitch: each stem sc gets one whipstitch into the basket stitch directly behind it. This spreads the load across 6 stitches instead of one point.
Cords to tabs: Lay the three baskets in a column, 3 in (7.6 cm) apart. Thread one cord down through the rings on the same end of every basket. Thread the second cord through the rings on the opposite end.
- Measure 9 in (22.9 cm) down from the top of each cord and mark it. This is the top ring position.
- The ring-to-ring spacing along each cord is 8.5 in (21.6 cm): the 5.5 in (14.0 cm) basket height plus the 3 in (7.6 cm) gap.
- At each ring, stitch the cord to the inside of the ring with 3 or 4 firm passes of cream yarn so the basket cannot slide.
- Leave 1 in (2.5 cm) of cord below the bottom ring and tuck it in.
Dowel: Wrap each cord twice around its end of the dowel, 1 in (2.5 cm) in from the tip, and stitch the wraps together. The cords should hang 10 in (25.4 cm) apart, matching the basket length.
Hanging loop: Bring the free tops of both cords together above the center of the dowel and sew them flat to each other over 1 in (2.5 cm). This forms the triangle. The triangle stands about 5 in (12.7 cm) above the dowel.
Tension advice: Lay the whole piece flat before you stitch anything permanently. Both cords must be the same length between each pair of rings, or the baskets will tilt.
Size checkpoint: The assembled hanger measures about 31 in (78.7 cm) long and 12 in (30.5 cm) wide.
Border (Shell Rim, Sage)
Border gauge: One shell repeat uses 6 stitches and covers about 1.7 in (4.3 cm). Sixteen repeats fit the 27.4 in (69.6 cm) opening exactly.
Rim Rnd 1: Join sage in the first st of Side Rnd 9. Ch 1, sc in each st around. Join.
(96 sc: 31 per end + 17 per long side + 31 + 17)
Rim Rnd 2: Ch 1, sc in first st, sk 2, shell in next st, sk 2, sc in next st. Repeat from * around, ending with sk 2, shell in next st, sk 2. Join to the first sc.
(16 shells + 16 sc = 96 sts)
Rim Rnd 3 (offset shells): Sl st into the next 3 sts to reach the center dc of the first shell. Ch 1, sc in the same st, shell in next sc, sc in center dc of next shell. Repeat from * around, ending with a shell in the last sc. Join.
(16 shells + 16 sc = 96 sts)
Fasten off and weave in the ends. Rnd 2 makes the scallops you see within the band, and Rnd 3 sits offset above them to make the wavy top edge.
The shells run continuously around the oval, so each long side carries about 3 shells and each end about 5. The exact placement doesn’t matter because the repeat never breaks.
Why the math works: The base edge has 94 stitches. Side Rnd 1 adds exactly 2, which gives 96. The 96 stitches divide into 24 mesh loops of 4. Side Rnd 9 puts back 4 sc per loop, so the count returns to 96. Then 96 divides into 16 shells of 6. You never have to fudge a stitch.
Final Blocking
- Weave in all ends securely before you block.
- Lightly mist each basket until it is damp, but not wet.
- Stuff each basket firmly with a rolled towel or two toilet paper rolls wrapped in a plastic bag.
- Shape the lattice so the diamonds open evenly and the long sides stand straight.
- Pinch each shell into a rounded scallop with your fingers.
- Press the base flat on the table and check that it measures 10 in (25.4 cm) x 5 in (12.7 cm).
- Let the baskets dry completely, which takes 12–24 hours.
- Hang the assembled piece for a day before you load it, so the cords settle.
Final Quality-Control Checklist
- Each base lies flat and measures 10 in (25.4 cm) x 5 in (12.7 cm).
- Each lattice has 24 even loops with no twisted chains.
- Each rim has exactly 16 shells.
- All three baskets measure 5.5 in (14.0 cm) tall.
- All six tabs are sewn at the center of the ends, with the rings 0.75 in (1.9 cm) above the rim.
- The ring spacing on both cords is 8.5 in (21.6 cm).
- The baskets hang level and 3 in (7.6 cm) apart.
- The dowel wraps are secure and 10 in (25.4 cm) apart.
- All ends are woven in.
Troubleshooting
- The base ruffles. Your dc are loose, so use a smaller hook. Also check that you increased only in the ends.
- The base cups. Your tension is tight, so use a larger hook or relax your grip.
- The sides flare outward. Your ch-5 loops are too long, so try ch 4 with a looser hand.
- The sides pull inward. Your loops are too tight, so loosen your chains.
- The shell count is off. Recount Side Rnd 9. It must be exactly 96.
- The basket tilts. The cord lengths between the rings don’t match, so remeasure and restitch.
- The rolls don’t fit. Your gauge is tight, so remake the base with a larger hook.
Care
Hand wash in cool water, press out the excess water and reshape the baskets over towels to dry. Don’t tumble dry, because the heat can shrink the cotton and distort the lattice.

Final Notes
Every measurement in this pattern links to the next. The 94-stitch base measures 10 in (25.4 cm) x 5 in (12.7 cm). The conversion round brings it to 96 stitches and a 27.4 in (69.6 cm) circumference. That count divides into 24 mesh loops for 4.5 in (11.4 cm) sides and then into 16 shells for a 1 in (2.5 cm) rim, so each basket stands 5.5 in (14.0 cm) tall. With 8.5 in (21.6 cm) between rings and a 12 in (30.5 cm) dowel, the finished hanger is about 31 in (78.7 cm) long. Check your gauge on the first basket and the rest will fall into place.
Happy crocheting!