Need a sturdy, cheerful bag for farmers market runs, beach trips, or hauling your latest yarn haul? This rainbow granny square tote bag delivers on all fronts. The pastel stripes graduate from teal at the bottom through coral, lavender, mint, peach, yellow, and pink before transitioning into a clean cream top section.

The construction uses a modified granny cluster stitch that creates those signature open diamond shapes you see across the body. It works up from the bottom in joined rounds, so you will watch the colorful stripes grow with each round. The finished bag includes braided multicolor handles, a fabric lining for structure, and an adorable beaded tassel embellishment.
This pattern makes an impressive handmade gift, though I have a feeling you will want to keep the first one for yourself. It is an intermediate level project that takes roughly 12 to 18 hours to complete, including all the finishing details. If you can work double crochet clusters and manage color changes, you have got everything you need to make this bag.
Pattern Details at a Glance
Skill Level: Intermediate
Finished Size: Approximately 14 inches wide by 12 inches tall by 4 inches deep at the base. Handle drop measures about 9 inches from the top edge.
Time Estimate: 12 to 18 hours for an experienced intermediate crocheter
Materials You Will Need
Yarn
You will need worsted weight cotton yarn in multiple colors. Here is the complete breakdown:
Recommended Yarn Brands
Lion Brand 24/7 Cotton works beautifully for this project. It is 100% mercerized cotton that gives excellent structure and stitch definition. The color range includes all the pastel tones you need.
Paintbox Yarns Simply DK is another great option. It runs slightly lighter than worsted, so you may want to adjust down to a 5.0 mm hook. The stitch clarity is excellent.
WeCrochet Dishie Worsted is a single ply cotton with a slight sheen that drapes nicely for tote bags.
Substitution tip: Stick with smooth, plied cotton or cotton blend yarn in worsted weight. Avoid fuzzy or stretchy yarns because they will obscure the open granny cluster stitch pattern.
Hook
US Size J / 6.0 mm crochet hook
Additional Supplies
Gauge
14 stitches and 8 rows equals 4 inches in single crochet (sc) worked flat.
One granny cluster repeat (3 double crochet cluster plus chain 1 space) measures approximately 1 inch wide.
One round of granny cluster pattern measures approximately 0.75 inch tall.
Gauge matters here. It ensures your finished bag matches the dimensions and that your lining fits properly. Adjust your hook size up or down as needed.
Abbreviations and Stitch Definitions
Let me walk you through every stitch and term you will encounter in this pattern:
Special Stitches
3dc-cl (3 Double Crochet Cluster)
This is the building block of the granny pattern. Here is how to work it step by step:
1. Yarn over, insert hook into the designated stitch or space.
2. Yarn over, pull up a loop. You have 3 loops on your hook.
3. Yarn over, pull through 2 loops. You have 2 loops on your hook. That is one incomplete double crochet.
4. Yarn over, insert hook into the same stitch or space again.
5. Yarn over, pull up a loop. You have 4 loops on your hook.
6. Yarn over, pull through 2 loops. You have 3 loops on your hook. Two incomplete double crochets made.
7. Yarn over, insert hook into the same stitch or space a third time.
8. Yarn over, pull up a loop. You have 5 loops on your hook.
9. Yarn over, pull through 2 loops. You have 4 loops on your hook. Three incomplete double crochets made.
10. Yarn over, pull through all 4 loops on your hook. Cluster complete.
Granny Cluster Shell
This is the main stitch pattern unit. Into a designated chain space or stitch, work (3dc-cl, ch 1, 3dc-cl). This creates two clusters with a chain 1 space between them. It forms the open diamond lattice pattern.
Pattern Notes Before You Begin
Read through these notes first. They will save you confusion later.
1. The bag base is worked flat in rows, then joined and worked in the round going up the sides.
2. All body rounds are joined rounds. After the last stitch, join with a slip stitch to the top of the first stitch. Do not turn between rounds unless instructed.
3. Color changes happen at the join of each round. Complete the last slip stitch with the new color. I recommend cutting and weaving in colors rather than carrying them, since the open stitch structure makes carried yarn visible.
4. Keep your tension moderately firm. The open lattice will have some natural drape, but it should not be so loose that the bag loses its rectangular shape.
5. The top edge gets one round of single crochet to stabilize the opening before you attach the lining.
Instructions
Part 1: Bag Base
The base is worked flat in rows of single crochet. It creates a firm rectangular foundation measuring approximately 14 inches wide by 4 inches deep.
Using MC and your 6.0 mm hook:
Foundation Chain: Ch 50.
Row 1 (RS): Sc in 2nd ch from hook and in each ch across. Turn. (49 sc)
Rows 2 through 14: Ch 1, sc in each st across. Turn. (49 sc)
Do not turn after Row 14. Do not fasten off.
Checkpoint: Your base should measure approximately 14 inches wide by 4 inches tall.
Part 2: Transition Round (Set Up Round for Body)
This round travels around all four edges of the base rectangle.
Continuing with MC, do not turn:
Set Up Round:
Join with sl st to first sc. (126 sc total)
Verify your count: 14 + 49 + 14 + 49 = 126.
Part 3: Granny Cluster Preparation Round
This round creates the chain 1 spaces that the granny cluster stitch requires.
Round 1 (Preparation, using CA):
Join CA in any sc. Ch 1.
[Sc in next sc, ch 1, skip 1 sc] 63 times.
Join with sl st to first sc. (63 sc, 63 ch-1 spaces)
Part 4: Bag Body, Granny Cluster Rounds
Now the magic happens. Each round creates granny cluster shells into the chain spaces from the previous round.
Color Sequence:
Round 2 (CA): Ch 3. Work first 3dc-cl in same ch-1 sp as join. Ch 1, 3dc-cl to complete first shell. Work into next ch-1 sp: (3dc-cl, ch 1, 3dc-cl). Rep from around, working into each of the 63 ch-1 spaces. Join with sl st to top of first 3dc-cl. (63 shells; 126 cluster units; 126 ch-sps)
Round 3 (CA): Work one shell into each center ch-sp of each shell from Round 2 (the ch-sp between the two clusters). Skip the joining ch-sps. Join. (63 shells; 126 cluster units; 126 ch-sps)
Round 4 (CB): Work one shell into each joining ch-sp between shells from Round 3. Join. (63 shells; 126 cluster units; 126 ch-sps)
Round 5 (CB): Work one shell into each center ch-sp of each shell from Round 4. Join. (63 shells; 126 cluster units; 126 ch-sps)
Round 6 (CC): Work one shell into each joining ch-sp between shells from Round 5. Join. (63 shells; 126 cluster units; 126 ch-sps)
Round 7 (CC): Work one shell into each center ch-sp of each shell from Round 6. Join. (63 shells; 126 cluster units; 126 ch-sps)
Round 8 (CD): Work one shell into each joining ch-sp between shells from Round 7. Join. (63 shells; 126 cluster units; 126 ch-sps)
Round 9 (CD): Work one shell into each center ch-sp of each shell from Round 8. Join. (63 shells; 126 cluster units; 126 ch-sps)
Round 10 (CE): Work one shell into each joining ch-sp between shells from Round 9. Join. (63 shells; 126 cluster units; 126 ch-sps)
Round 11 (CE): Work one shell into each center ch-sp of each shell from Round 10. Join. (63 shells; 126 cluster units; 126 ch-sps)
Round 12 (CF): Work one shell into each joining ch-sp between shells from Round 11. Join. (63 shells; 126 cluster units; 126 ch-sps)
Round 13 (CF): Work one shell into each center ch-sp of each shell from Round 12. Join. (63 shells; 126 cluster units; 126 ch-sps)
Round 14 (CG): Work one shell into each joining ch-sp between shells from Round 13. Join. (63 shells; 126 cluster units; 126 ch-sps)
Round 15 (CG): Work one shell into each center ch-sp of each shell from Round 14. Join. (63 shells; 126 cluster units; 126 ch-sps)
Rounds 16 through 24 (MC): Continue alternating between working into joining ch-sps (even rounds) and center ch-sps (odd rounds). Each round maintains 63 shells, 126 cluster units, and 126 ch-sps.
Checkpoint: After Round 24, your bag body should measure approximately 12 inches tall from the top of the base.
Part 5: Top Stabilizing Round
Top Round (MC): Join MC to any ch-sp at the top of Round 24. Ch 1. Work 2 sc into each ch-1 space around. Join with sl st to first sc. (252 sc)
Fasten off MC. Weave in all ends.
Part 6: Handles
Make 2 handles.
Handle Base Chain: Using MC, ch 120. Fasten off, leaving a 10 inch tail.
Additional Strands: Make 3 more chains of 120 each in CA (teal), CG (pink), and CF (yellow) or CD (mint).
Braiding: Align all 4 strands and braid them firmly together along the full length. Your finished braid should measure approximately 24 inches. Start with chains of 130 if needed to account for length reduction from braiding.
Attaching Handles:
Mark handle positions on the top edge. Place inner edges of each handle approximately 4 inches apart from center. Fold braid ends down about 1 inch and pin to the inside top edge. Using MC and your yarn needle, whipstitch the folded end securely. Reinforce with a box pattern (stitch a rectangle, then an X through the center) for durability.
Attach both ends of both handles.
Part 7: Tassel
Crocheted Bead Ball (make 2, one in CC and one in CB):
Using a 4.0 mm hook:
Round 1: Magic ring, 6 sc into ring. (6 sc)
Round 2: 2 sc in each sc around. (12 sc)
Round 3: [Sc in next sc, 2 sc in next sc] 6 times. (18 sc)
Round 4: Sc in each sc around. (18 sc)
Round 5: [Sc in next sc, sc2tog] 6 times. (12 sc)
Stuff lightly with yarn scraps or insert a wooden bead.
Round 6: [Sc2tog] 6 times. (6 sc)
Sl st to close. Fasten off with a long tail. Pull tight to close.
Tassel Fringe:
Cut 40 to 50 strands of MC, each 18 inches long. Fold all strands in half. Thread the folded loop through the bottom of the CB bead ball. Pull cut ends through the loop and tighten.
Assembly:
Stack the CC bead on top of the CB bead, connecting with yarn. Thread wooden beads between or below for extra embellishment. Attach the completed tassel to the left handle near the top front of the bag.
Trim fringe to 5 to 6 inches.
Part 8: Interior Lining
Cut your fabric:
Sew the lining:
With right sides together, pin and sew the gusset strip around three sides of one front panel using a 0.5 inch seam allowance. Sew the other front panel to the remaining edge. Clip corners. Press seams open.
Fold the top raw edge down 0.5 inch to the wrong side and press.
Insert the lining:
Turn the crochet bag inside out. Insert the lining (right side out) so wrong sides face each other. Align the folded lining edge just below the top sc round. Pin in place.
Using MC and your yarn needle, slip stitch the lining to the wrong side of the top sc round all around. Turn the bag right side out.
Label (optional): Attach a woven label centered on the front, approximately 2 inches down from the top edge.
Finishing and Blocking
Weave in all remaining ends, hiding tails within the cluster stitches.
Wet blocking helps this bag look its best. Submerge the finished bag (before adding the lining) in cool water. Gently squeeze out excess water without wringing. Roll in a towel to remove moisture. Shape over a box or folded towels to achieve the rectangular silhouette. Allow to dry completely, about 24 to 48 hours.
Attach the lining after blocking.
Care Instructions
Machine wash on gentle cycle in cold water. Use a mesh laundry bag to protect the handles. Reshape while damp and air dry completely. Do not put in the dryer.
Size Customization Tips
For a wider bag: Increase the foundation chain by 2 stitches for every additional half inch of width.
For a deeper base: Add rows to Part 1 in pairs.
For a taller bag: Add body rounds in MC before the top stabilizing round. Each pair of rounds adds approximately 1.5 inches of height.
For a smaller bag: Reduce the foundation chain to 38 for a 10 inch wide bag.

You Did It!
Thank you so much for choosing this rainbow granny square tote bag pattern. I hope you love making it as much as I loved designing it. The color possibilities are endless, so do not be afraid to swap in your favorite shades or use up that stash yarn.
I would absolutely love to see your finished bags! Tag me on Instagram or share a photo in our Facebook group. Seeing your creations truly makes my day.
If this pattern made you smile, go ahead and save it to your Pinterest boards so you can find it when you are ready to cast on. And if you make one, please drop a comment below. I read every single one and love hearing about your projects!
