This is a granny square tote bag pattern. Four flower-center squares join into a ring, attach to an oval base, and get finished with dense bands, crocheted straps, and matching tassels. The stepped diamond-like frames come from simple color changes in double crochet rounds.
Get the Ad-Free PDF Pattern
You can find the free pattern below, or you can purchase the ad-free printable PDF from my shop.
Get the Printable PDF →
The construction is intermediate level. You will work joined rounds, sew squares together, shape an oval base, and attach sturdy handles. If you have made granny squares before, you already know the core technique.
Navy and white cotton yarn creates that classic nautical look. The finished bag measures about 34 to 36 cm wide and 25 to 28 cm tall, with a handle drop around 23 to 25 cm. Perfect size for everyday errands, a trip to the farmer’s market, or a day at the beach.
Materials You Will Need
Gather these supplies before you start. Having everything ready makes the project flow smoothly.
Yarn:
Hooks:
Notions:
Gauge
Getting gauge right matters for this project. Your bag needs to hold its shape and all four squares must match.
One blocked 7-round square should measure 18 cm along each side. Four squares joined give you a 72 cm circumference.
For the dense bands, aim for approximately 20 single crochet (sc) stitches per 10 cm.
Make a complete square and a 10 cm sc swatch before you start assembly. Adjust your hook size up or down if needed.
Abbreviations and Terminology
This pattern uses US crochet terminology. Here is every abbreviation you will see:
Important convention: Turning chains do not count as a stitch unless a step explicitly says they do. A ch 3 at the start of a round counts as a dc and you join to its top.
Flower Squares: Make Four
You will make four identical squares and join them into a ring. Work joined rounds with the right side always facing you.
Color change tip: Change color on the final pull-through of the last stitch before joining. Or fasten off and join the new color neatly. Either method works.
Round 1 (Color B)
Make an adjustable ring. Ch 3 (counts as first dc), work 11 dc into the ring. Join with a sl st to the top of the ch 3.
Stitch count: 12 dc
Tighten the center of your ring by pulling the tail.
Round 2 (Color B)
Ch 3 (counts as dc), dc in the same stitch. Work 2 dc in each of the remaining 11 stitches around. Join.
Stitch count: 24 dc
Work loosely enough so your circle lies flat. The paired stitches form a radiating flower center.
Round 3 (Color B)
Ch 3, then work (dc, ch 2, 2 dc) in the same stitch for your first corner. Dc in the next 5 stitches.
Repeat the following 3 more times: (2 dc, ch 2, 2 dc) in the next stitch for corner, dc in the next 5 stitches.
Join to the top of the ch 3.
Stitch count: 36 dc total, with four corner ch-2 spaces. You have 9 dc between each corner space.
Round 4 (Color A)
Join Color A in any corner ch-2 space.
In each corner space, work (2 dc, ch 2, 2 dc). Dc in every dc along each side. Join.
Stitch count: 52 dc total, with 13 dc between corners
Round 5 (Color A)
Repeat Round 4, working into every side stitch and creating corner shells in each corner space. Join.
Stitch count: 68 dc total, with 17 dc between corners
Round 6 (Color B)
Repeat Round 4. Join.
Stitch count: 84 dc total, with 21 dc between corners
Round 7 (Color A)
Repeat Round 4. Fasten off.
Stitch count: 100 dc total, with 25 dc between corners
Blocking Your Squares
Block each square to exactly 18 x 18 cm. Do not distort the corner angles. All four squares must match in size.
When blocked, the front shows a large pale center (Color B) with broad navy framing (Color A) and a thin white accent stripe (Color B in Round 6).
Joining the Body Ring
Arrange your four squares side by side with all right sides facing up.
Sewing the squares together:
Using Color B and your tapestry needle, sew adjacent vertical edges through the outer loops only. Match the 25 dc stitches between corner spaces on each square. Secure each corner with 2 small stitches.
Join the last square to the first to form a ring. Leave the top and bottom open.
Lay the ring flat with one square centered on the front. The seams will sit near the curved side edges of your finished bag.
Making the Oval Base
Switch to your smaller hook (3.5 mm) for the base. You will work in continuous rounds, so place a marker in your first stitch and move it up each round.
Round 1 (Color A)
Ch 22.
Sc in the second ch from hook, sc in the next 19 ch, work 3 sc in the last ch (this is your turning point).
Rotate to work along the underside of the chain: sc in the next 19 ch, work 2 sc in the last ch beside your first sc.
Stitch count: 44 sts
You now have 19 straight stitches on each long side and 3 turning stitches at each short end.
Round 2
Work 2 sc in the first stitch, sc in the next 19 stitches. Inc in each of the next 3 stitches, sc in the next 19 stitches. Inc in each of the last 2 stitches.
Stitch count: 50 sts
Round 3
(Sc, inc), sc 19. (Sc, inc) 3 times, sc 19. (Sc, inc) twice.
Stitch count: 56 sts
Rounds 4 through 9
These rounds follow a formula. For Round n, work: (sc in next n-2 sts, inc) once, sc 19, (sc in next n-2 sts, inc) 3 times, sc 19, (sc in next n-2 sts, inc) twice.
Rounds 10 through 18
Continue the same oval formula. Round 10 uses 8 sc before each increase. Round 18 uses 16 sc before each increase.
Keep the 19-stitch straight sections aligned from round to round. This maintains the oval shape.
Fitting the Base to the Body
Base Fit Check
Your final base has 146 stitches, giving approximately 73 cm perimeter at gauge. Measure this against your 72 cm blocked square ring. You will ease about 1 cm during sewing.
If your base is more than 2 cm too large or too small, adjust your hook size and remake the final rounds. Do not force folds into the join.
Base Wall
Work 1 round of sc in the back loops only around your base.
Stitch count: 146 sts
Then work 4 more rounds of sc in both loops.
Stitch count: 146 sts per round
This creates a structured rim rising from the oval. Sl st to join and fasten off, leaving a long tail for sewing.
Lower Body Border (Color B)
Join Color B at one lower square corner.
Around each square bottom, work 1 sc in each of the 25 dc and 2 sc in each corner space. This gives you 29 sc per square, totaling 116 stitches around.
At shared seam corners, each square contributes its own 2 sc.
Join with a sl st. Ch 1 and work a second round of 116 sc. Join and fasten off.
Joining Base to Body
Quarter-mark both the base and the body ring with markers.
Match your markers and sew with Color A through both layers using small whipstitches.
Each quarter matches 29 body stitches to either 36 or 37 base stitches. Make 2 base attachments to one body stitch at 7 or 8 evenly spaced positions in that quarter.
Do not skip any body stitches. The different stitch densities are intentional. The measured circumferences must match.
Creating the Top Band
Top Band Round 1 (Color B)
Work 116 sc around the top edge exactly as you did at the lower body edge. Join.
Use the larger hook (4 mm) if this round contracts the squares too much.
Top Band Round 2 (Color A)
Ch 1. You need to distribute 28 increases evenly.
Repeat (sc 3, inc) 28 times, then sc 4.
Stitch count: 144 sts
This provides the stitch count for the smaller hook and dense band. Switch to your smaller hook (3.5 mm) after this round.
Top Band Rounds 3 through 8
Sc in each stitch around, joining every round.
Stitch count: 144 sts per round
Finish with one loose sl st round.
The opening should remain about 72 cm around, without flaring or cinching. If your gauge differs, recalculate the top-band target from circumference multiplied by sc per cm, and distribute increases evenly.
Straps, Tassels, and Finishing
Two Straps (Color A)
With your smaller hook (3.5 mm), ch 7.
Row 1: Sc in the second ch from hook and in the next 5 ch. (6 sts)
Ch 1, turn.
Repeat rows of 6 sc until your strip measures 60 cm.
Make two identical straps.
Assembling the straps:
Fold each strip lengthwise and whipstitch the long edges together to create a thick narrow strap. Leave 4 cm flat at both ends for sewing to the bag.
For reduced stretch, enclose cotton webbing inside each strap before seaming it closed.
Attaching the Handles
Lay your bag flat with the front motif centered.
Mark two attachment points on the front, about 8 cm apart. Mark matching points on the back.
Sew each flat strap end 4 cm down inside the top band. Use a rectangle and diagonal cross stitch pattern for strength. Sew through several rows, not only the top loops.
Both handles must have the same drop. Pull gently to check each attachment before adding any weight to the bag.
Two Tassels (Color A)
Wrap yarn 35 times around a 10 cm piece of cardboard.
Tie a doubled 20 cm strand through the top loops. Cut the bottom loops open.
Bind firmly 1.5 cm below the top to create the tassel head. Trim the ends evenly.
Make two tassels and attach one to each side seam just below the top band. Weave the attachment tails deeply through at least 3 cm of fabric for security.
Optional Lining
Measure the actual inside width and height of your finished bag.
Cut two fabric rectangles to your measured flat width plus 2 cm and height plus 2 cm for seam allowances.
Sew the sides and bottom with 1 cm allowances. Box the lower corners to match your measured base depth.
Turn the upper edge under 1 cm and press. Hand sew the lining just below the top band, catching the yarn on the inside only.
Keep the lining slightly roomy. Place the handle reinforcing ends between the lining and crochet for extra support.
Final Testing and Care
Weave in all yarn ends through several directions for security. Support the base while shaping the bag and allow it to dry flat after blocking.
Test your finished bag with a light load first. Check the base seam and strap attachments carefully.
A note about cotton yarn: Cotton stretches over time with weight. Add lining and reinforced straps before carrying heavier items. This keeps your bag looking great for years.
Record your final size, yarn usage, and any gauge changes after making the complete sample. These notes help if you want to make another one or adjust the size.

Tips for Success with This Crochet Pattern
This Navy Diamond Granny Tote pattern has several parts that work together. Here are some tips to make your project go smoothly:
For the squares: Block them before joining. Unblocked squares rarely match perfectly, and that makes assembly frustrating.
For the base: Keep your increases in the same positions round after round. This maintains the oval shape instead of creating a lumpy circle.
For the seams: Take your time with the whipstitch joins. Neat seams make a big difference in how professional your bag looks.
For the straps: The webbing insert is technically optional, but I highly recommend it. Cotton straps without reinforcement will stretch noticeably once you load the bag.
Thank you so much for choosing this pattern! I hope you love making your Navy Diamond Granny Tote as much as I enjoyed creating the design. If you make one, I would absolutely love to see it. Tag me on Instagram or share a photo in our Facebook group.
If this pattern caught your eye, go ahead and save it to your Pinterest boards so you can find it when you are ready to start. And please drop a comment below once you finish yours. I love hearing how your projects turn out!
Want a Quick & Easy Printable Version?
Get a clean, beautifully formatted PDF of this pattern — easy to follow step by step, ready to print or save on any device. No scrolling, no distractions, just the pattern.
Get the Printable PDF →